ios - 将 kAuthority 更改为消费者不起作用
问题描述
我正在使用适用于 iOS的MSAL Preview和这个swift sample。
根据此处的文档,我应该使用不常见的消费者将其强制用于个人帐户。
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/"
试过这个并没有什么不同。
解决方案
与GitHub的工程团队合作,他们解决了后端问题。现在已解决。
推荐阅读
- javascript - 将用户输入添加到数组并更新选项列表
- python - 如何附加多个 CSV 文件并创建 MultiIndex 数据框
- c# - 无法连接到本地主机。是客户端问题还是本地主机问题?
- android - 我需要在 action.BOOT_COMPLETE 期间调用 unregisterReceiver() 吗?
- azure-devops - Azure DevOps 存档工作项(测试用例)
- c# - 在菜单中插入一个菜单项作为区域
- r - 如何比较两个不同 DF 中的两列,并在另一列中添加值?
- node.js - Strapi & react-admin:我想在任何 fetchAll 查询触发时动态设置“Content-Range”标头
- python - Python3 BeautifulSoup:删除部分 HTML 并作为汤对象返回
- mysql - 仅显示卡付款