MSAL从iOS Swift示例返回了错误的令牌

时间:2019-06-27 15:43:29

标签: ios swift azure-ad-b2c msal

我正在尝试在iOS应用中使用Azure B2C对用户进行身份验证。我正在跟踪此处提供的示例: https://github.com/Azure-Samples/active-directory-b2c-ios-swift-native-msal

我可以获取令牌,但是当我尝试调用受保护的Web服务时,出现401错误。当我使用PostMan并获取令牌,然后将其复制到应用程序中时,它将正常工作。

似乎用来获取令牌的Urls不同-这在PostMan中有效: https:// {orgname} .b2clogin.com / tfp / {tenant} /oauth2/v2.0/authorize?p= {policy}

此网址似乎是iOS示例中MSAL中的默认设置: https://login.microsoftonline.com/tfp/ {tenant} / {policy}

我尝试将kAuthority变量更新为可在PostMan中使用的网址,但会导致错误:

▿可选   -某些错误:Error Domain = MSALErrorDomain代码= -42002“(null)” UserInfo = {MSALErrorDescriptionKey =此类型的授权不支持授权验证}

有人知道新b2clogin.com网址的MSAL库的正确配置吗?

1 个答案:

答案 0 :(得分:1)

从文档中引用:https://docs.microsoft.com/en-us/azure/active-directory-b2c/b2clogin#set-the-validateauthority-property

  

如果您使用的是MSAL,请将ValidateAuthority属性设置为false。当ValidateAuthority设置为false时,允许重定向到b2clogin.com。

因此,您需要禁用权限验证才能使用b2clogin.com URL。