- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 ACS 在 Windows 8 应用程序中进行身份验证。我观察到的正是我所期望的,因为 UI 显示了身份验证对话框,并且在成功输入我的 LiveID 凭据后,我返回到我的代码并显示成功状态,但我没有收到安全 token ,我只是在 result.ResponseData 中获取“https://XXXXX.accesscontrol.windows.net/v2/wsfederation?wa=wsignin1.0”
代码如下:
string loginUriString = "https://XXXXX.accesscontrol.windows.net:443/v2/wsfederation?wa=wsignin1.0&wtrealm=http%2f%YYYYY.cloudapp.net";
string redirectUriSting = "https://XXXXX.accesscontrol.windows.net:443/v2/wsfederation";
string authToken;
bool IsAuthenticated = false;
private async Task AuthenticateAsync()
{
var requestUri = new Uri(loginUriString, UriKind.RelativeOrAbsolute);
var redirectUri = new Uri(redirectUriSting, UriKind.RelativeOrAbsolute);
//var testUri = WebAuthenticationBroker.GetCurrentApplicationCallbackUri();
var result = await WebAuthenticationBroker.AuthenticateAsync(
WebAuthenticationOptions.None,
requestUri,
redirectUri);
if (result.ResponseStatus != WebAuthenticationStatus.Success)
throw new Exception(string.Format("Login failed : {0}", result.ResponseErrorDetail));
//authToken = ExtractTokenFromResponse(result.ResponseData);
//if (!string.IsNullOrEmpty(authToken))
//{
_client.DefaultRequestHeaders.Authorization =
new System.Net.Http.Headers.AuthenticationHeaderValue("OAuth", result.ResponseData);
IsAuthenticated = true;
//}
}
我在这里看到了另一个 SO 问题,似乎是一个类似的问题,但没有别的。我是不是搞错了什么?
最佳答案
WebAuthenticationBroker
只是继续浏览,直到下一个请求的页面是 callbackUri
参数指定的页面。届时它会将最终 URL 返回给您,因此如果您想要取回任何内容,则需要在该 URL 中对其进行编码。
在依赖方的 ACS 控制面板中,您需要指定站点某处的返回 URL。例如 https://YYYYY.cloudapp.net/federationcallback
。然后创建一个 Controller 来处理接受该 URL 的帖子。该帖子将有一个表单字段 wresult
,它是一些包含从 ACS 返回的 token 的 xml。
然后您可以通过重定向到 https://YYYYY.cloudapp.net/federationcallback/end?token={whatever you want to return} 将 token 发送回
WebAuthenticationBroker
/
然后您需要将身份验证代理的用法更改为以下内容:
var webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(
WebAuthenticationOptions.None,
new Uri("https://XXXXX.accesscontrol.windows.net:443/v2/wsfederation?wa=wsignin1.0&wtrealm=http%3a%2f%2fYYYYY.cloudapp.net%2f"),
new Uri("https://YYYYY.cloudapp.net/federationcallback/end")
);
// The data you returned
var token = authenticateResult.ResponseData.Substring(authenticateResult.ResponseData.IndexOf("token=", StringComparison.Ordinal) + 6);
关于c# - WebAuthenticationBroker 使用 LiveID 进行身份验证返回成功状态但没有安全 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12455692/
我正在尝试制作一个在 Visual Studio Express 中连接到 Facebook 的应用程序。问题是在这段代码中: Windows.Security.Authentication.Web.
我正在构建一个 Windows 8 应用程序,我试图在应用程序启动时从 Google 数据 API 获取 token 。我构建了一个函数来执行此操作,它具有以下代码: string authCodeU
我刚刚尝试使用 WebAuthenticationBroker 连接到 Google,但我不喜欢系统生成对话框的可视化表示。有可能以某种方式改变它吗? 例如这是英文版的截图: 那些白色矩形真的很难看,
正在尝试使用 WebAuthenticationBroker.authenticateAndContinue 登录 facebook、twitter、google,当身份验证完成时,它会显示身份验证页
我的代码使用: WebAuthenticationResult WebAuthenticationResult = await WebAuthenticationBroker.Authenticate
我们在 Windows 10 UAP 应用程序中使用 WebAuthenticationBroker 连接到 OAuth 提供商,例如 Facebook、Flickr 和 Instagram。当操作系
我想将 WebAuthenticationBroker 用于带有 Pocket (http://getpocket.com) 的 oAuth。 Pocket API 在 http://getpocke
WebAuthenticationBroker 似乎无法处理到我的 ms-app:// 的导航。 .只是抛出这个丑陋的错误,如下所示。 脚步 调用 AuthenticateAsync() ,包括运行时
我正在使用 ACS 在 Windows 8 应用程序中进行身份验证。我观察到的正是我所期望的,因为 UI 显示了身份验证对话框,并且在成功输入我的 LiveID 凭据后,我返回到我的代码并显示成功状态
在 MainPage 的 OnNavigatedTo 事件中使用 WebAuthenticationBroker.AuthenticateAndContinue 时,出现以下异常: The remot
我正在使用此功能在 Facebook 上注销; WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBro
我编写了一个基于 XAML 的 WinRT 应用程序,它通过 WebAuthenticationBroker.AuthenticateAsync 调用连接到foursquare。这是授权代码:
我正在使用 WebAuthenticationBroker.AuthenticateAsync() 方法。成功登录并授予对我的应用程序的访问权限后,它停留在 Dropbox 成功屏幕并且不会重定向到我
解决方案我的工作解决方案可以在答案或更新二中找到。 1) 现在确保,为了在本地主机上进行测试,您已经为本地主机端口上的入站设置了 Windows 防火墙。路由器上的端口转发(如果有的话)。 2) 然后
我在我的 Windows Phone 8.1 应用程序中执行 OAuth2 身份验证,我正在使用 WebAuthenticationBroker 和 WP 的 AuthenticateAndConti
我有一个已发布的 Xamarin.Forms 应用。该应用程序建议用户通过多个 OAuth 身份验证提供商(Google、Facebook、Microsoft、Yandex、Vkontakte、Mai
我是一名优秀的程序员,十分优秀!