Microsoft OAuth 是否可以使用应用程序 permissions/scopes 进行增量身份验证?
Microsoft OAuth Is it possible to do incremental authentication with application permissions/scopes?
我正在构建一个通过 Microsoft 进行身份验证的应用程序,并且需要各种主要使用委托权限的应用程序。我使用 v2 auth 端点进行增量身份验证,仅在用户需要时才请求额外的范围。
到目前为止,这对我拥有的许多委派权限都很有效。在许多情况下,我需要管理员批准才能获得这些权限,但我有一个运行良好的流程。
我用作委派权限的范围之一是“User.Read.All”,我现在在应用程序权限级别上需要相同的范围。但是我正在努力研究是否有办法对应用程序权限进行增量身份验证。文档说在不指定范围的情况下使用通用端点,但这会要求我提供应用程序注册中的所有范围,而不是仅仅将范围作为参数传递。
它与您指定的端点和范围无关。由于您在原始工作中使用了委派权限,因此我认为您改用 auth code flow or username/passord flow. If we use auth code flow or username/password flow, we can't get application permission when we do authentication although you have assign the application permissions to your registered app. If you want to get application permission when do authentication, you need to use client credential 流程。
不幸的是,同意流程允许提交一组动态的委托范围,或者 /.default
其行为类似于 v1 端点并请求该客户端的所有范围,这是不可能的。 See these docs
我正在构建一个通过 Microsoft 进行身份验证的应用程序,并且需要各种主要使用委托权限的应用程序。我使用 v2 auth 端点进行增量身份验证,仅在用户需要时才请求额外的范围。
到目前为止,这对我拥有的许多委派权限都很有效。在许多情况下,我需要管理员批准才能获得这些权限,但我有一个运行良好的流程。
我用作委派权限的范围之一是“User.Read.All”,我现在在应用程序权限级别上需要相同的范围。但是我正在努力研究是否有办法对应用程序权限进行增量身份验证。文档说在不指定范围的情况下使用通用端点,但这会要求我提供应用程序注册中的所有范围,而不是仅仅将范围作为参数传递。
它与您指定的端点和范围无关。由于您在原始工作中使用了委派权限,因此我认为您改用 auth code flow or username/passord flow. If we use auth code flow or username/password flow, we can't get application permission when we do authentication although you have assign the application permissions to your registered app. If you want to get application permission when do authentication, you need to use client credential 流程。
不幸的是,同意流程允许提交一组动态的委托范围,或者 /.default
其行为类似于 v1 端点并请求该客户端的所有范围,这是不可能的。 See these docs