我按照 Microsoft 教程了解如何创建 SPA 和 API 并使用 MSAL 来保护它 ( https://github.com/Azure-Samples/ms-identity-javascript-react-tutorial/tree/main/3-Authorization-II/1-call-api )。
但他们要求像这样公开 API:
对于范围名称,请使用 Todolist.Read。 选择谁可以同意?的管理员和用户选项。 对于管理员同意显示名称,请输入scopeName。 对于管理员同意说明,请输入例如“允许应用读取登录用户的文件。”。 对于用户同意显示名称,请输入scopeName。 对于用户同意说明,请输入例如“允许应用程序读取您的文件。”。
但是,我找不到在哪里可以更改“谁可以同意?”选项。
最佳答案
当我尝试在 B2C 租户应用程序中公开 API 范围时,我也找不到谁可以同意?
选项:
您需要切换目录到普通的 Azure AD 租户,并将其设置为当前目录,如下所示:
在该 Azure AD 租户中,我注册了一个名为 msal-node-api
的应用程序,并公开了一个 API 范围,我可以在其中看到“谁可以同意?”选项:
现在,我创建了另一个名为 msal-react-spa
的应用注册,并在其中添加了上面的权限:
当我按照同一文档运行示例时,成功身份验证后出现以下屏幕:
关于Azure AD如何向用户公开API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76857503/