【问题标题】:How do I use the access_token from Xamarin.Essentials WebAuthenticator?如何使用 Xamarin.Essentials WebAuthenticator 中的 access_token?
【发布时间】:2020-05-02 01:03:09
【问题描述】:

我在external login instructions 之后逐步建立了一个网站。 我在xamarin webauthentication instructions之后添加了对移动登录的支持。

现在登录工作正常,但无法访问具有 [Authorize] 属性的控制器。

查看 Xamarin.Essentials 中的示例 WebAuthenticator。收到 access_token 后,如何用于另一个 HttpClient 请求?

我以为是 Bearer,所以我尝试了:

client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", App.AccessToken);

我仍然从服务中得到 401。

与邮递员相同。当我在 aspnet 中收到它时,它是来自属性的不记名令牌。 感觉 Web 服务配置中缺少某些内容。

我尝试添加 .AddJwtBearer();但到目前为止结果相同......

【问题讨论】:

  • 您是否尝试调试通过 Postman 拨打电话时发生的情况?无论您通过应用程序做什么以及通过应用程序向 Web 服务发送的任何信息,您都应该能够通过 postman 或终端中的 curl 命令发送。从那里进行调用后,您应该能够设置断点并按照步骤查看出现错误的原因。
  • @Saamer 是的,我在邮递员中也得到了 401。我希望有一些东西可以调试,但它都是 nuget 中间件和属性。除了注册请求响应日志记录中间件类以查看标头和 cookie 之外,我没有办法知道发生了什么。没有 svc-logging 或 diagni
  • 诊断跟踪 afaik,没有一瞥,前缀仅提供一些请求信息。我没有可用的 dotTrace 或 Intellitrace。
  • @Saamer 这就是 Startup.cs 的样子github.com/xamarin/Essentials/blob/develop/Samples/…
  • Carl,因为您也通过邮递员遇到了问题,很明显问题不在您的 Xamarin 解决方案中。您必须找出后端接受的有效请求对象,以便它可以首先通过邮递员成功

标签: xamarin oauth-2.0 xamarin.essentials


【解决方案1】:

access_token 不是一个有效的 JwtBearerToken 并且除了调用 google api 之外没有任何用途。不能作为应用与后端的标识。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 2022-01-24
    • 2012-01-23
    • 2023-01-27
    • 1970-01-01
    • 2021-08-26
    • 2012-02-12
    相关资源
    最近更新 更多