我有一个 Windows 8 应用程序,它使用 WebAuthBroker 构建字符串并发布到 https:。相关代码如下。
问题是 WebAuthBroker 采用了这个 URI 并且无法连接,但是当我手动将此 URI 发布到 IE 中时,它工作正常。
在 Windows 8 上运行 VS2012。在 Package.appmanifest 中,启用了 Enterprise Authentication、Internet(Client)、Internet(Client&Server)、Private Networks(Client&Server) 和 Shared User Certificates。
async Task AuthenticateAsync()
{
var requestUriStr = string.Format("{0}?client_id={1}&response_type=token&redirect_uri={2}", logonUriString, clientId, redirectUriString);
requestUriStr += "&scope=stream";
var requestUri = new Uri(requestUriStr, UriKind.RelativeOrAbsolute);
var redirectUri = new Uri(redirectUriString, UriKind.RelativeOrAbsolute);
var result = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, requestUri, redirectUri);
if (result.ResponseStatus != WebAuthenticationStatus.Success)
{
throw new Exception("Login failed: " + result.ResponseErrorDetail);
}