如何配置Microsoft Single Tenant作为Strapi的身份验证提供方
关于Strapi集成Microsoft单租户身份验证及登录限制方案
方案一:配置Microsoft单租户作为Strapi身份提供方
此前单租户配置出现未授权报错,多数是OAuth校验参数不匹配导致,按以下步骤调整即可正常使用:
- Azure端应用注册:支持的账户类型选择「仅此组织目录中的帐户(仅你的组织名称 - 单租户)」,记录应用的客户端ID、客户端密钥、租户ID
- Strapi端OAuth配置调整:
tenant参数填写你实际的Azure租户ID,不要使用多租户默认的common- issuer地址填写
https://login.microsoftonline.com/<你的租户ID>/v2.0,不要使用多租户通用issuer地址 - 权限范围至少配置
openid、email、profile - 回调地址和Azure端配置的重定向URI完全一致,格式为
https://<你的Strapi域名>/connect/microsoft/callback
- 若使用Strapi v4,建议升级
@strapi/plugin-users-permissions到最新版本,旧版本存在单租户OAuth issuer校验的已知bug,升级后即可解决未授权报错。
方案二:多租户场景下限制仅指定组织用户登录
若继续使用多租户配置,可直接在Azure Portal中设置访问限制,无需修改Strapi侧配置:
- 进入已注册的Azure应用页面,打开「企业应用程序」模块,找到对应应用
- 进入「属性」页面,将*需要进行用户分配?*选项设置为「是」,保存配置
- 进入「用户和组」页面,仅添加你允许登录的组织内用户/用户组,未被添加的用户会在Azure验证环节直接被拦截,无法完成Strapi登录
- 如有更精细的管控需求,可进入「条件访问」页面配置规则,支持限制IP段、设备类型、访问时间等维度的登录权限。
内容的提问来源于stack exchange,提问作者Cyrus Rome Dela Cruz
相关产品推荐
相关产品推荐

