Microsoft.Identity.Client返回格式错误的结果

时间:2018-06-29 16:37:54

标签: azure-ad-b2c

在对AuthenticationResult进行身份验证之后,使用Xamarin Sample应用程序将返回正确的消息,并且PublicClientApplication将存储用户。

但是,如果我更新示例中的租户,客户端ID和范围,然后尝试针对自己的B2C实例进行身份验证,则AuthenticationResult格式错误,并且PublicClientApplication仍然存储了0个用户,这导致AcquireTokenSilentAsync重新启动应用程序后失败。

注意:我还使用msal {My ClientId}

更新了AndroidManifest / Info.plist

更新:

通过格式错误进行说明,我的意思是访问令牌为空白,并且到期时间为默认的DateTime,这可能是PCA不存储现在已通过身份验证的用户的原因。如上所述,AquireTokenSilentAsync在后​​续呼叫中将失败,因为PCA没有存储任何用户。但是,如果我从AuthenticationResult中获取IdToken,并将其作为Bearer令牌传递给我的API,它将被识别为完全有效的令牌。

1 个答案:

答案 0 :(得分:0)

似乎您无法获得访问令牌,但是您能够获得ID令牌。

  

但是,如果我更新示例中的租户,客户ID和范围,并且   然后尝试进行身份验证

您是否通过门户正确设置了范围?您需要发布API的范围,然后将范围授予本机应用程序的api。

请参见https://docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-access-tokens