Gen*_*ene 3 c# live single-sign-on microsoft-metro windows-8
我目前正在为Windows 8消费者预览编写一个C#metro app,它从基于REST的Web服务中获取一些数据.我希望应用程序使用当前用户的Windows Live帐户对服务进行身份验证.因此,我将Windows Live SDK添加到我的解决方案中,并将文档中的以下代码段粘贴到我的登录视图中:
LiveAuthClient liveClient = new LiveAuthClient();
LiveLoginResult loginResult = await liveClient.Login(new string[] { "wl.signin" });
Run Code Online (Sandbox Code Playgroud)
登录调用成功后,我想将加密AuthenticationToken
的LiveConnectSession
via SSL传递给我的webservice,它应该解密令牌并读取它感兴趣的信息(这就是文档对这种SSO场景的建议).但遗憾的AuthenticationToken
是,会议的财产总是如此null
.我在这里错过了什么吗?
我遇到了同样的问题,发现我的配置存在两个问题:
例如,在API设置中指定:
重定向域:
http://localhost/myapp
然后使用LiveAuthClient的构造函数重载:
var authClient = new LiveAuthClient("http://localhost/myapp");
var loginResult = await authClient.LoginAsync("wl-signin");
//this should no longer be null
var authToken = loginResult.Session.AuthenticationToken;
Run Code Online (Sandbox Code Playgroud)
重定向URI不需要从我能告诉的内容指向工作端点,只要这两个值匹配就应该在业务中.
归档时间: |
|
查看次数: |
1829 次 |
最近记录: |