Azure active directory 如何使用Azure AD和我们的后端strapi设置SSO?

Azure active directory 如何使用Azure AD和我们的后端strapi设置SSO?,azure-active-directory,strapi,Azure Active Directory,Strapi,我想知道以前有没有人这样做过 我有一个azure Active Directory,我在IIS中托管我们应用程序的前端。背面由pm2控制。如何使用Azure AD和我们的后端strapi设置SSO 感谢您的帮助您可以在strapi CRM web项目中使用Azure AD轻松实施身份验证 要遵循的步骤: 在Azure广告中 添加目标API,并授予选择权限 选择您的Microsoft身份验证库,推荐 在项目中实现。这是非常有用的代码和示例,可以帮助您 如果您还有任何问题,请告诉我。Strapi支持

我想知道以前有没有人这样做过

我有一个azure Active Directory,我在IIS中托管我们应用程序的前端。背面由pm2控制。如何使用Azure AD和我们的后端strapi设置SSO


感谢您的帮助

您可以在strapi CRM web项目中使用Azure AD轻松实施身份验证

要遵循的步骤:

  • 在Azure广告中
  • 添加目标API,并授予选择权限
  • 选择您的Microsoft身份验证库,推荐
  • 在项目中实现。这是非常有用的代码和示例,可以帮助您
    如果您还有任何问题,请告诉我。

    Strapi支持本机Microsoft SSO

    您必须在三个方面采取行动:Azure门户、Strapi管理员、前端应用程序

    1-AZURE门户:(创建应用程序、配置、获取参数) 1.1创建应用程序,访问网站并注册应用程序

    1.2单击新建注册

    1.3按照下面的屏幕截图填写表格

    1.3.1在“支持的帐户类型”中设置多租户选项(在strapi中,默认情况下不支持单租户,如果需要设置单租户,则必须创建自定义提供程序,但多租户是可以的)

    1.3.2在重定向URI字段中,输入“Web”和

    /connect/microsoft/callback

    1.3.3注册并转到下一页

    1.4转到注册应用程序的“身份验证”页面(左菜单)以启用隐式授权流(访问令牌)

    1.5转到已注册应用程序的“证书和机密”页面(左菜单)创建“新客户端机密”并注释该值,您将在strapi上配置提供商时使用该值

    1.6还要注意概览页面中的“应用程序(客户端)ID”,您将在strapi上配置提供程序时使用它

    2-STRAPI管理员:(创建应用程序、配置、获取参数) 2.1转到“角色和权限”>提供商>Microsoft

    2.2设置启用“ON”以及您在前面步骤(1.5和1.6)中获得的客户ID和密码

    2.3将URI重定向到前端应用程序,该应用程序获取并重定向microsoft access\u代码(此步骤稍后会更清晰)

    3-前端应用程序: 准备好了吗?在这一点上,流开始,开始跳转以完成身份验证,并获得一个strapi jwt以作为身份验证的用户发出请求

    3.1在前端应用程序中创建指向strapi microsoft登录的链接

    /connect/microsoft

    3.2Strapi将用户重定向到microsoft身份验证页面,成功后,用户将使用microsoft access\u代码在Strapi上重定向(此步骤对您来说是透明的)

    3.3Strapi将访问代码重定向到2.3中设置的前端url,该url必须(使用访问代码)重定向到Strapi页面验证

    /auth/microsoft/callback

    3.4此时,strapi创建自己的JWT令牌,该令牌返回到前端应用程序,前端应用程序可以将其存储(在本地存储、会话存储…)以向strapi端点发出请求

    参考资料


    Hello@Hari Krishna有没有一种方法可以让我通过内置的strapi用户信息而不必使用MSAL?嗨@Mike,我不确定“内置strapi用户信息”,但你可以使用它作为MSAL的替代方案来实现自动诱惑。谢谢你给出了这个令人惊叹的答案。正是我所需要的Hi mike,我已经更新了步骤3中描述的流程。请注意,如果您在代理之后,可能会出现缓冲区代理错误(即:“上游发送的头太大,而从上游读取响应头”,在这种情况下,请调整代理缓冲区),在nginx中,这修复了:``代理缓冲区大小128k;代理缓冲区4256K;代理\u忙\u缓冲区\u大小256k;```我花了几个小时试图弄明白,我在本地开发人员中使用了这个演练,它成功了,现在它不适用于生产,我相信我需要设置一个代理,你有演练吗?我只是想知道你的上一个是awesomeHi@fiblan,我在这方面遇到了一些麻烦。我完全遵循了它,但我不断从微软那里得到一个错误,说“AADSTS90102:‘redirect_uri’值必须是有效的绝对uri”。你知道为什么吗?
    (i.e. http://localhost:1337/connect/microsoft/callback or your strapi
    production url https://mystrapiexample.com/connect/microsoft/callback)
    
    (i.e. http://localhost:1337/connect/microsoft or your strapi
    production url https://mystrapiexample.com/connect/microsoft)
    
    (i.e http://localhost:1337/auth/microsoft/callback or your strapi
    production url https://mystrapiexample.com/auth/microsoft/callback ).....