我正在使用Skype Web SDK以下列方式获取用户的联系人列表。
Skype.initialize({
apiKey: 'a42fcebd-5b43-4b89-a065-74450fb91255',
}, function (api) {
var Application = api.application;
var client = new Application();
client.signInManager.signIn({
username: sip,
password: pwd
})
当我提供用户名(sip)和密码时,这工作正常。但是,当我重新加载页面时,我必须再次提供凭据,因为应用程序重新初始化。有没有办法在初次登录后维持用户的会话一段时间,以便刷新页面不需要再次申请凭证?
我查看了微软已经找不到的样本和文档。我还尝试在初始化后将client
对象存储在localStorage
并登录,但是当我尝试从localStorage重用该对象来获取联系人列表时,它不起作用
答案 0 :(得分:0)
http://officedev.github.io/skype-docs/Skype/WebSDK/model/api/interfaces/jcafe.signinmanager.html#signin最后一个示例解释了您可以存储oauth令牌并将其用作未到期令牌。
要连接到现有应用的活动频道,请指定该应用的ID:
sm.signIn({
username: "user1@company.com",
password: "password1",
id: "273867-234235-45346345634-345"
});
在处理时使用OAuth登录Skype for Business Online 自己检索OAuth令牌的逻辑:
sm.signIn({
client_id: '123-456',
origins: [ 'https://webdir.online.lync.com/AutoDiscover/AutoDiscoverservice.svc/root' ],
cors: true,
get_oauth_token: function(resource) {
// Return a valid unexpired token for the specified resource if you already have one.
// Else, return a promise and resolve it once you have obtained a token.
return 'Bearer eyJ0e...';
}
});