我正在使用MSAL Preview for iOS和swift sample。
根据documentation here,我应该使用消费者而不是普通来强制它仅限个人帐户。
中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
这在浏览器中运行良好。所以我不认为它是一个应用程序配置问题。除非它与本地vs web调用这个吗?
我注意到latest sample,kAuthority缩短了。
let kAuthority = "https://login.microsoftonline.com/common/"
试过这个并没有什么区别。