在对AuthenticationResult进行身份验证之后,使用Xamarin Sample应用程序将返回正确的消息,并且PublicClientApplication
将存储用户。
但是,如果我更新示例中的租户,客户端ID和范围,然后尝试针对自己的B2C实例进行身份验证,则AuthenticationResult格式错误,并且PublicClientApplication
仍然存储了0个用户,这导致AcquireTokenSilentAsync
重新启动应用程序后失败。
注意:我还使用msal {My ClientId}
更新了AndroidManifest / Info.plist更新:
通过格式错误进行说明,我的意思是访问令牌为空白,并且到期时间为默认的DateTime,这可能是PCA不存储现在已通过身份验证的用户的原因。如上所述,AquireTokenSilentAsync
在后续呼叫中将失败,因为PCA没有存储任何用户。但是,如果我从AuthenticationResult
中获取IdToken,并将其作为Bearer令牌传递给我的API,它将被识别为完全有效的令牌。
答案 0 :(得分:0)
似乎您无法获得访问令牌,但是您能够获得ID令牌。
但是,如果我更新示例中的租户,客户ID和范围,并且 然后尝试进行身份验证
您是否通过门户正确设置了范围?您需要发布API的范围,然后将范围授予本机应用程序的api。
请参见https://docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-access-tokens