如何使用 Azure AD 和我们的后端 strapi 设置 SSO?
How can I set up SSO with Azure AD and our back end strapi?
我想知道以前是否有人这样做过,
我有一个 Azure Active Directory,我在 IIS 中托管我们应用程序的前端。后面由pm2控制。如何使用 Azure AD 和我们的后端 strapi 设置 SSO?
感谢您的帮助
您可以在 strapi CRM web 项目中使用 Azure AD 轻松实现身份验证。
要遵循的步骤:
- Register an application 在 Azure AD 中。
- 添加目标 API,并同意 select permissions。
- 选择你的微软认证库,推荐MSAL
- 实施 MSAL library in your project. It is very simple to implement and code sample that can help you is available here。
如果您还有任何问题,请告诉我。
Strapi 原生支持 Microsoft SSO。
您必须在三个方面采取行动:Azure 门户、Strapi 管理、前端应用程序
1 - AZURE 门户:(创建应用程序、配置、获取参数)
1.1 创建应用程序,转到 App registrations 站点并注册一个应用程序
1.2点击新建
1.3 如下图所示填写表格
1.3.1在"Supported account types"设置Multitenant选项(在strapi中,默认不支持单租户,如果需要设置单租户必须创建一个自定义提供商,但多租户是可以的)
1.3.2 在重定向 URI 字段中,输入 "Web" 和
/connect/microsoft/callback
(i.e. http://localhost:1337/connect/microsoft/callback or your strapi
production url https://mystrapiexample.com/connect/microsoft/callback)
1.3.3 注册并进入下一页
1.4 转到您注册的应用程序的 "Authentication" 页面(左侧菜单)以启用隐式授权流程(访问令牌)
1.5到你注册的App的"Certificate and secrets"页面(左侧菜单)创建一个"New client secret"并标注值,你会用到当您在 strapi 上配置提供程序时。
1.6 还要注意Overview页面中的"Application (client) ID",你在strapi上配置provider时会用到它
2 - STRAPI 管理员:(创建应用程序、配置、获取参数)
2.1 转到 "Roles and Permission" > 提供商 > Microsoft
2.2 设置启用 "ON" 以及您在前面的步骤(1.5 和 1.6)中获得的 clientId 和密码
2.3 获取并重定向微软的前端应用的重定向 URI access_code(这一步稍后会更清楚)
3 - 前端应用程序:
准备好了吗?至此流程开始,开始跳转完成认证并获取strapi jwt以认证用户身份发出请求。
3.1 在您的前端应用程序中创建一个 link 以 strapi microsoft 登录
/connect/microsoft
(i.e. http://localhost:1337/connect/microsoft or your strapi
production url https://mystrapiexample.com/connect/microsoft)
3.2 Strapi 将用户重定向到 Microsoft 身份验证页面,成功后用户将被重定向到带有 Microsoft access_code 的 strapi(此步骤对您来说是透明的)
3.3 Strapi 将 access_code 重定向到 2.3 中设置的前端 url,它必须重定向(使用 access_code)到 strapi 页面授权
/auth/microsoft/callback
(i.e http://localhost:1337/auth/microsoft/callback or your strapi
production url https://mystrapiexample.com/auth/microsoft/callback ).....
3.4 此时 strapi 创建自己的 JWT 令牌 returns 到前端应用程序,前端应用程序可以存储它(在本地存储,会话存储中...)向 strapi 端点发出请求。
参考资料
我想知道以前是否有人这样做过,
我有一个 Azure Active Directory,我在 IIS 中托管我们应用程序的前端。后面由pm2控制。如何使用 Azure AD 和我们的后端 strapi 设置 SSO?
感谢您的帮助
您可以在 strapi CRM web 项目中使用 Azure AD 轻松实现身份验证。
要遵循的步骤:
- Register an application 在 Azure AD 中。
- 添加目标 API,并同意 select permissions。
- 选择你的微软认证库,推荐MSAL
- 实施 MSAL library in your project. It is very simple to implement and code sample that can help you is available here。
如果您还有任何问题,请告诉我。
Strapi 原生支持 Microsoft SSO。
您必须在三个方面采取行动:Azure 门户、Strapi 管理、前端应用程序
1 - AZURE 门户:(创建应用程序、配置、获取参数)
1.1 创建应用程序,转到 App registrations 站点并注册一个应用程序
1.2点击新建
1.3 如下图所示填写表格
1.3.1在"Supported account types"设置Multitenant选项(在strapi中,默认不支持单租户,如果需要设置单租户必须创建一个自定义提供商,但多租户是可以的)
1.3.2 在重定向 URI 字段中,输入 "Web" 和
/connect/microsoft/callback
(i.e. http://localhost:1337/connect/microsoft/callback or your strapi
production url https://mystrapiexample.com/connect/microsoft/callback)
1.3.3 注册并进入下一页
1.4 转到您注册的应用程序的 "Authentication" 页面(左侧菜单)以启用隐式授权流程(访问令牌)
1.5到你注册的App的"Certificate and secrets"页面(左侧菜单)创建一个"New client secret"并标注值,你会用到当您在 strapi 上配置提供程序时。
1.6 还要注意Overview页面中的"Application (client) ID",你在strapi上配置provider时会用到它
2 - STRAPI 管理员:(创建应用程序、配置、获取参数)
2.1 转到 "Roles and Permission" > 提供商 > Microsoft
2.2 设置启用 "ON" 以及您在前面的步骤(1.5 和 1.6)中获得的 clientId 和密码
2.3 获取并重定向微软的前端应用的重定向 URI access_code(这一步稍后会更清楚)
3 - 前端应用程序:
准备好了吗?至此流程开始,开始跳转完成认证并获取strapi jwt以认证用户身份发出请求。
3.1 在您的前端应用程序中创建一个 link 以 strapi microsoft 登录
/connect/microsoft
(i.e. http://localhost:1337/connect/microsoft or your strapi
production url https://mystrapiexample.com/connect/microsoft)
3.2 Strapi 将用户重定向到 Microsoft 身份验证页面,成功后用户将被重定向到带有 Microsoft access_code 的 strapi(此步骤对您来说是透明的)
3.3 Strapi 将 access_code 重定向到 2.3 中设置的前端 url,它必须重定向(使用 access_code)到 strapi 页面授权
/auth/microsoft/callback
(i.e http://localhost:1337/auth/microsoft/callback or your strapi
production url https://mystrapiexample.com/auth/microsoft/callback ).....
3.4 此时 strapi 创建自己的 JWT 令牌 returns 到前端应用程序,前端应用程序可以存储它(在本地存储,会话存储中...)向 strapi 端点发出请求。
参考资料