【问题标题】:Xamarin Android Auth0 WCF how to setupXamarin Android Auth0 WCF 如何设置
【发布时间】:2015-05-26 09:33:17
【问题描述】:

我正在尝试使用 WCF 作为后端服务并使用 Xamarin 编写应用程序。我想使用基于令牌的身份验证,我正在评估https://auth0.com。我成功地在我的 Xamarin android 应用程序中从 auth0 获取令牌。还可以查看tutorial 我可以设置 WCF Web 服务。我一直在理解整个事情是如何协同工作的?如何使用收到的 Auth0 令牌与我的 WCF 服务进行通信?或者更确切地说,服务器如何知道它是来自令牌的经过身份验证的用户?访问 Web 服务时如何在我的应用程序中使用令牌。有人有类似的安排吗?

【问题讨论】:

    标签: wcf xamarin xamarin.android auth0


    【解决方案1】:

    如果您已经完成here 中提到的所有操作来设置您的服务行为,那么您应该能够将令牌添加到请求标头中。

    如果您按照他们的建议使用 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 包的一部分安装)中添加断点以查看它在哪里进行身份验证。

    【讨论】:

    • 所以我说我的应用程序-> Auth0-> 令牌-> 我的应用程序-> 带有令牌的 WCF 调用-> WCF 服务器-> Auth0 来验证令牌是否正确?或者基本上给定一个令牌,当然还有服务器端的 auth0 设置,WCF 服务器可以验证它?
    • @asb 是的,它就是这样工作的。因此,如果您的服务没有正确设置行为,您将错误地假设它们已通过身份验证。
    • 最后.. request.AddHeader ("Authorization", "Bearer" + auth0User.IdToken) 成功了(使用restsharp):)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    相关资源
    最近更新 更多