Mah*_*Mah 3 c# authentication api xamarin.forms azure-ad-b2c
我正在开发 xamarin.form 项目。我根据此示例添加 B2C 身份验证: https://learn.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/authentication/azure-ad-b2c 我完全复制并粘贴并且没有更改方法。现在它可以工作了,但问题出在 AuthenticationResult ar 参数中,访问令牌为空,而且到期日期也错误。我无法解决它。我附上了 AuthenticationResult 内容的图像, 如果您需要更多信息,请告诉我。
小智 7
您的范围值错误。访问令牌用于访问受保护的资源,例如 Web API。范围是管理这些受保护资源的权限的方式。Web api 使用范围来实现基于范围的访问控制。
例如,要read为应用程序 ID URI 为 的 API指定范围值https://contoso.onmicrosoft.com/api,范围将为https://contoso.onmicrosoft.com/api/read。
在 AAD B2C 门户中,您可以设置所有这些。
例如,在此示例中,客户端应用程序通过此范围请求对此apiEndpoint 的权限 https://fabrikamb2chello.azurewebsites.net/hello https://fabrikamb2c.onmicrosoft.com/helloapi/demo.read
它设置在门户的 AAD B2C 部分。在我的 Web Api(称为 HelloApi)中,我设置了范围:

然后,在同一个 AAD B2C 部分中,我转到我的客户端应用程序(称为 AzureAD B2C Playground),并在名为“API 访问”的部分中添加一个指向 HelloApi 的链接,并确定此应用程序将有权访问哪些范围。

回到客户端应用程序,我需要确保设置了 clientId、策略和重定向 Uri,并更新了 Web API 范围和 ApiEndpoint 的值。现在,AAD B2C 门户中的所有内容都已连接,您应该取回该资源(Web Api)的访问令牌。
请参阅此示例了解详细信息
| 归档时间: |
|
| 查看次数: |
5693 次 |
| 最近记录: |