我有一个安全的 API 学生 API,我可以通过 OAuth2.0 客户端凭据流访问它,它使用IConfidentialClientApplication应用程序创建访问令牌并访问受保护的应用程序。
现在使用 OAuth 2.0 资源所有者密码凭证访问安全 API。我主要使用微软 github 页面中的代码。
https://github.com/azure-samples/active-directory-dotnetcore-console-up-v2
我可以使用用户名和密码登录,也可以生成访问令牌。但此访问令牌无法访问我的安全学生 API。尽管示例代码能够访问 Microsoft 图形 API,但它无法访问我的安全 API。
我也尝试为我的安全学生 API 允许公共客户端流,并解密两个访问令牌以查看差异。有很多不同。我在这里注意到的是在 ROPC 流程中使用IPublicClientApplication在获取令牌时我无法提供 ResourceId。所以“aud”在 ROPC 令牌和其他领域也是不同的。谁能告诉我哪里可能出错或如何解决上述情况?