gpt4 book ai didi

azure - 对于前端的 React 应用程序和后端的 Express 应用程序来说,使用 Azure AD 对用户进行身份验证和授权的流程是否正确?

转载 作者:行者123 更新时间:2023-12-02 07:54:43 26 4
gpt4 key购买 nike

  1. 我的前端有 React 应用程序,我已在 Azure AD 中将其注册为 REACT_AZURE,并使用 @azure/msal-react npm 包对用户进行身份验证。

  2. 为了保护我的 Express 路由,我在 Azure AD 中将另一个应用程序注册为 API_AZURE,并在“公开 API”部分中添加了范围“access_as_user”。

  3. 在 REACT_AZURE 应用的“API 权限”部分中,我添加了“access_as_user”的权限。现在我可以获取“access_as_user”范围的访问 token 并对我的 Express 服务器进行 API 调用。

  4. 在我的 protected 路由中,我使用 Passport-azure-ad BearerStrategy 来验证访问 token ,如果它有效,我就有权获取资源。

这是正确的流程吗?我是否必须向 Azure AD 注册两个应用程序?如果没有,我该怎么做?

最佳答案

Is this the right flow? Do I have to register two apps with Azure AD?if not, how do I do it right?

当然,你的过程是绝对正确的。您需要在 Azure 中注册两个应用程序,一个代表客户端应用程序,另一个代表 api 应用程序。然后暴露api应用的api,并将客户端应用添加到api应用中。然后让用户登录客户端应用程序完成认证并获取token,并使用token调用api。我已回复similar questions之前可以引用一下。

但是我不确定你是否想根据用户角色来控制哪些用户可以访问api。如果您只希望租户中的某些用户访问 api,那么您可以添加一个步骤,即创建应用角色并授予您希望访问 api 的用户。那么租户中未被授予应用角色的用户将无权访问该 API。请参阅more detailed answer .

关于azure - 对于前端的 React 应用程序和后端的 Express 应用程序来说,使用 Azure AD 对用户进行身份验证和授权的流程是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67894935/

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