C# 为什么AuthenticationResult B2C身份验证中accessToken为空?
我正在做一个xamarin.form项目。我根据以下示例添加B2C身份验证: 我完全复制和粘贴,没有改变方法。现在它可以工作了,但问题在于AuthenticationResult ar参数中,访问令牌为null,并且到期日期也错误。我解决不了。C# 为什么AuthenticationResult B2C身份验证中accessToken为空?,c#,api,authentication,xamarin.forms,azure-ad-b2c,C#,Api,Authentication,Xamarin.forms,Azure Ad B2c,我正在做一个xamarin.form项目。我根据以下示例添加B2C身份验证: 我完全复制和粘贴,没有改变方法。现在它可以工作了,但问题在于AuthenticationResult ar参数中,访问令牌为null,并且到期日期也错误。我解决不了。 如果您需要更多信息,请告诉我。请确保您已完成以下步骤: 在Azure B2C刀片服务器中,选择应用程序并将回复URL设置为Azure移动应用程序实例的地址,例如。https://App.azurewebsites.net,后跟/.auth/login/a
如果您需要更多信息,请告诉我。请确保您已完成以下步骤: 在Azure B2C刀片服务器中,选择应用程序并将回复URL设置为Azure移动应用程序实例的地址,例如。https://App.azurewebsites.net,后跟/.auth/login/aad/callback 在刀片服务器中,选择AAD提供商,转到高级并设置客户端ID和颁发者URL,客户端ID是Azure Active Directory B2C租户的应用程序ID,颁发者URL是Azure Active Directory B2C策略的元数据端点 附加参考: 请检查以下文档以了解正确的步骤:
希望有帮助。请确保您已完成以下步骤: 在Azure B2C刀片服务器中,选择应用程序并将回复URL设置为Azure移动应用程序实例的地址,例如。https://App.azurewebsites.net,后跟/.auth/login/aad/callback 在刀片服务器中,选择AAD提供商,转到高级并设置客户端ID和颁发者URL,客户端ID是Azure Active Directory B2C租户的应用程序ID,颁发者URL是Azure Active Directory B2C策略的元数据端点 附加参考: 请检查以下文档以了解正确的步骤:
希望有帮助。按照此操作创建一个Web API应用程序注册,以表示您的资源,并将前端应用程序注册端访问权限分配给资源权限。 然后,身份验证请求必须在身份验证请求的Scope参数中提供API标识符和作用域名称,以获得身份验证代码,该代码将被兑换为访问令牌: 要让MSAL为您执行此操作,请执行以下操作: AuthenticationResult=Wait App.AuthenticationClient.AcquireTokenSilentConstants.Scopes,accounts.FirstOrDefault 作用域将是一个数组,并且必须包含您在上面设置的Web API应用程序注册的标识符URI/ScopeName
按照此操作创建Web API应用程序注册以表示您的资源,并将前端应用程序注册端访问权限分配给资源权限。 然后,身份验证请求必须在身份验证请求的Scope参数中提供API标识符和作用域名称,以获得身份验证代码,该代码将被兑换为访问令牌: 要让MSAL为您执行此操作,请执行以下操作: AuthenticationResult=Wait App.AuthenticationClient.AcquireTokenSilentConstants.Scopes,accounts.FirstOrDefault 作用域将是一个数组,并且必须包含您在上面设置的Web API应用程序注册的标识符URI/ScopeName
您的作用域值错误。访问令牌用于访问受保护的资源,如web API。作用域是管理这些受保护资源的权限的方法。web api使用作用域来实现基于作用域的访问控制 例如,为应用程序ID URI为的API指定read的作用域值https://contoso.onmicrosoft.com/api,范围是https://contoso.onmicrosoft.com/api/read. 在AAD B2C门户中,您可以设置所有这些 例如,在此示例中,客户端应用程序正在请求对此应用程序的权限https://fabrikamb2chello.azurewebsites.net/hello 通过https://fabrikamb2c.onmicrosoft.com/helloapi/demo.read 在门户的AAD B2C部分中设置。在名为HelloApi的Web Api中,我设置了作用域: 然后在同一AAD B2C部分中,我转到我的客户端应用程序AzureAD B2C Playerd,在API访问部分中,我添加了一个到HelloApi的链接,并确定此应用程序将访问哪些范围。 回到客户端应用程序中,我需要确保设置了clientId、策略和重定向Uri,并更新了Web API作用域和ApiEndpoint的值。现在,AAD B2C门户中的所有内容都已连接,您应该可以通过Web Api获取该资源的访问令牌 看 看
请参见,范围值错误。访问令牌用于访问受保护的资源,如web API。作用域是管理这些受保护资源的权限的方法。web api使用作用域来实现基于作用域的访问控制 例如,为应用程序ID URI为的API指定read的作用域值https://contoso.onmicrosoft.com/api,范围是https://contoso.onmicrosoft.com/api/read. 在AAD B2C门户中,您可以设置所有这些 例如,在此示例中,客户端应用程序正在请求对此应用程序的权限https://fabrikamb2chello.azurewebsites.net/hello 通过 Hhttps://fabrikamb2c.onmicrosoft.com/helloapi/demo.read 在门户的AAD B2C部分中设置。在名为HelloApi的Web Api中,我设置了作用域: 然后在同一AAD B2C部分中,我转到我的客户端应用程序AzureAD B2C Playerd,在API访问部分中,我添加了一个到HelloApi的链接,并确定此应用程序将访问哪些范围。 回到客户端应用程序中,我需要确保设置了clientId、策略和重定向Uri,并更新了Web API作用域和ApiEndpoint的值。现在,AAD B2C门户中的所有内容都已连接,您应该可以通过Web Api获取该资源的访问令牌 看 看
请参阅谢谢您的评论,但我的身份验证工作正常,我的问题只是accessToken,我正在mac上工作。谢谢您的评论,但我的身份验证工作正常,我的问题是accessToken,我正在mac上工作。