office365/azure 使用委托用户 ID 的 oauth

office365/azure oauth using delegated user id

我的目标是编写一些代码,使 Office 365 用户能够通过 REST API 访问 OneDrive for business 中的文件。我已经在 Azure AD(Web App/single 租户)中注册了一个应用程序,并且有一个重定向 URI 来接收 OAuth 令牌。我想使用 "delegated user identity with OAuth" 场景。要查看它是如何工作的,我在这里使用 "Office 365 OAuth Sandbox":https://oauthplay.azurewebsites.net/。当我 "Authorize using own account" 并输入任何有效的 Office 365 用户凭据时,我将获得一个访问令牌。当我用我注册的应用程序的信息替换授权 URL 中的客户端 ID 和重定向 URI 时,我只能在输入在我的应用程序中注册的用户时获取令牌(否则我在登录期间收到错误 50012-在)。我必须在我的配置中更改什么才能允许任何 Office 365 用户获得授权令牌(就像沙盒一样)?

您需要将 Web 应用程序标记为多租户,否则 Azure AD 会将所有调用方限制为来自您在其中配置应用程序的租户。 查看 https://github.com/AzureADSamples/WebApp-WebAPI-MultiTenant-OpenIdConnect-DotNet 的多租户 Web 应用程序示例并调用 Microsoft API。请注意,您不一定需要验证示例中所示的问题,只需执行对您的场景有意义的操作(这甚至可能意味着不验证)。