【发布时间】: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