首页 > 解决方案 > 将 kAuthority 更改为消费者不起作用

问题描述

我正在使用适用于 iOS的MSAL Preview和这个swift sample

根据此处的文档,我应该使用不常见的消费者将其强制用于个人帐户。

ViewDidLoad 函数中

self.applicationContext = try MSALPublicClientApplication.init(clientId: kClientID, authority: kAuthority)

将 kAuthority 更改为

https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize

应仅将其锁定到消费者帐户。

但这似乎会引发错误“这看起来不像工作或学校电子邮件。您无法使用个人帐户在此处登录。请改用您的工作或学校帐户。 ”它确实适用于该 kAuthority 如果我放入组织帐户。

如果我改为

https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize

它允许允许 org in 但不允许消费者帐户。

如果我设置回代码示例默认值,两者都可以工作

https://login.microsoftonline.com/common/oauth2/v2.0/authorize

我注意到如果我在浏览器中点击它

https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id=##clientid##&response_type=code&redirect_uri=http%3A%2F%2Flocalhost&response_mode=query&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fmail.read&state=12345

这在浏览器中工作正常。所以我认为这不是应用程序配置问题。除非它与本机与网络调用有关?

我注意到在最新的示例中,kAuthority 已缩短。

let kAuthority = "https://login.microsoftonline.com/common/"

试过这个并没有什么不同。

标签: iosswiftmicrosoft-graph-apimsal

解决方案


与GitHub的工程团队合作,他们解决了后端问题。现在已解决。


推荐阅读