我正在尝试使用 WCF 作为后端服务并使用 Xamarin 编写应用程序。我想使用基于令牌的身份验证,我正在评估https://auth0.com。我成功地在我的 Xamarin android 应用程序中从 auth0 获取令牌。还看教程,我可以设置 WCF Web 服务。我一直在理解整个事情是如何协同工作的?如何使用收到的 Auth0 令牌与我的 WCF 服务进行通信?或者更确切地说,服务器如何知道它是来自令牌的经过身份验证的用户?访问 Web 服务时如何在我的应用程序中使用令牌。以前有人有类似的安排吗?
问问题
180 次
1 回答
0
如果您已完成此处提到的所有操作来设置您的服务行为,那么您应该能够将令牌添加到请求标头中。
如果您像他们建议的那样使用 webhttpbinding,那么您应该能够在 BeforeSendRequest 中拦截消息
var header = new HttpRequestMessageProperty();
header.Headers.Add("Authorization", "Bearer " + this.token);
request.Properties.Add(HttpRequestMessageProperty.Name, header);
或者如果您使用带有肥皂和 wsHttpBinding 或类似的 WCF,那么您可以
((HttpRequestMessageProperty)request.Properties[HttpRequestMessageProperty.Name]).Headers.Add("Authorization", "Bearer " + this.token);
一旦行为出现在您的 WCF 服务上,它将为对附加了该行为的服务进行的每次调用验证令牌。您可以在 ValidateJsonWebToken.cs(作为 auth0 的 NuGet 包的一部分安装)中添加断点,以查看它在哪里进行身份验证。
于 2015-03-23T12:10:03.330 回答