ios - MSAL 从 iOS Swift 示例返回错误 token

标签 ios swift azure-ad-b2c msal

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

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

看起来用于获取 token 的 Urls 是不同的——这个在 PostMan 中有效: https://{orgname}.b2clogin.com/tfp/{tenant}/oauth2/v2.0/authorize?p={policy}

在 iOS 示例中,此 url 似乎是 MSAL 中的默认设置: https://login.microsoftonline.com/tfp/ {租户}/{政策}

我尝试将 kAuthority 变量更新为适用于 PostMan 的 Url,但这会导致错误:

▿ 可选 - 一些:错误域=MSALErrorDomain 代码=-42002“(空)”UserInfo={MSALErrorDescriptionKey=此类权限不支持权限验证}

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

最佳答案

引自文档:https://learn.microsoft.com/en-us/azure/active-directory-b2c/b2clogin#set-the-validateauthority-property

If you're using MSAL, set the ValidateAuthority property to false. When ValidateAuthority is set to false, redirects are allowed to b2clogin.com.

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

关于ios - MSAL 从 iOS Swift 示例返回错误 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56794600/

相关文章:

项目列表数组上的 PHP/Swift JSON 序列化导致零元素

ios - 如何防止其他开发者破坏我们的 Parse 服务器数据

ios - Facebook 注册 -> 获取用户 Facebook 信息 -> 使用我的应用程序进行身份验证 -> 如果用户存在于数据库中,则登录,否则创建帐户

ios - 为什么我的 UILabel 变量总是 nil?

ios - (Swift)点击时展开和折叠表格 View 单元格

Azure AD B2C 应用程序与 Azure 应用程序注册应用程序

azure - Azure B2C是否提供 "true"多个应用程序之间的单点登录

iOS - 链接具有比我的项目更高的部署目标的框架

swift - didEnterRegion 和 didExitRegion 在 iOS8 中不起作用

angular - 对于使用 Angular SPA 获取的 Active Directory B2C JWT token ,acr 声明为 null