gpt4 book ai didi

android - 使用 Azure AD 验证内部单租户移动应用程序的正确 OAuth 流程

转载 作者:行者123 更新时间:2023-12-03 05:41:24 25 4
gpt4 key购买 nike

我的公司有一个内部 Web 应用程序和其他几个使用 Azure AD 进行身份验证的服务。由于它们是 SPA 和单租户,因此它们能够使用隐式授权流以避免使用访问和刷新 token 。

我正在构建一个内部移动应用程序,需要使用 Azure AD 进行身份验证,并且也应该是单租户(我的组织)。我的理解是,这对于移动应用程序来说是不安全的。我看到的唯一适用于移动设备的流程包括使用访问 token 来访问受 Microsoft 保护的 API。据我了解,我可以公开内部托管的 API,但在单租户配置的 Azure AD 中似乎不允许这样做。因此,我无法请求 API 访问作为范围,并且整个访问和刷新 token 系统都会崩溃。

此外,我看到的所有客户端库都是为访问 token 设置的,而不是发送原始 ID token 或刷新它们。我的应用程序顶部的 firebase 之类的东西是解决方案吗?我已经查阅了有关此问题的所有微软文档,并且正在努力。

最佳答案

I understand that I am able to expose my internally hosted API but that doesn't seem to be allowed in Azure AD with a single-tenant configuration.

这是不正确的。即使是由单租户客户端应用程序使用,您也可以使用 Azure AD 来保护对 API 的访问。

您可以为后端 API 创建应用注册(您将在其中定义至少一个范围),并为客户端应用创建单独的应用注册(这将请求为后端 API 定义的范围)。

如果客户端应用程序和后端实际上都是一个逻辑应用程序,您还可以定义一个since应用程序注册,为其定义至少一个范围,然后客户端应用程序将请求该范围。

在这两种情况下,客户端应用程序最终都会获得后端 API 的访问 token ,并且可以将其用于 API 请求。

强烈建议不要直接实现流程。使用能够处理所有 token 处理的 SDK。适用于 iOS 和 Android 的 Microsoft 身份验证库 (MSAL) 现已可供生产使用,这确实使这变得相当简单:https://developer.microsoft.com/en-us/graph/blogs/microsoft-authentication-libraries-for-android-ios-and-macos-are-now-generally-available/

关于android - 使用 Azure AD 验证内部单租户移动应用程序的正确 OAuth 流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58439235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com