You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopware前端客户SSO认证实现方案咨询

实现Shopware前端SSO(基于Entra ID Windows Identity Platform)

核心思路

Shopware前端SSO本质是通过**OIDC(OpenID Connect)**协议对接Entra ID——Windows Identity Platform原生支持OIDC,我们可以通过Shopware扩展+自定义前端逻辑实现前端跳转认证,而非仅依赖后端认证方案。

具体实现步骤

1. 在Entra ID中配置应用注册

  • 登录Entra ID控制台,创建**单页应用(SPA)**类型的应用注册(适配前端SSO场景)
  • 配置重定向URI:填写Shopware前端的回调地址,比如https://你的shopware域名/account/sso/callback
  • 记录关键信息:客户端ID(Client ID)、租户ID(Tenant ID)、授权端点、令牌端点

2. 配置Shopware后端支持OIDC

  • 安装Shopware官方OAuth2插件,或自定义插件处理OIDC令牌验证
  • 在插件中配置Entra ID的OIDC参数:
    // 示例插件配置参数
    $oidcConfig = [
        'client_id' => '你的Entra ID客户端ID',
        'tenant_id' => '你的Entra ID租户ID',
        'authorization_endpoint' => 'https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize',
        'token_endpoint' => 'https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token',
        'userinfo_endpoint' => 'https://graph.microsoft.com/oidc/userinfo',
        'redirect_uri' => 'https://你的shopware域名/account/sso/callback',
    ];
    
  • 实现后端回调接口:接收Entra ID返回的授权码,交换为访问令牌/ID令牌,验证令牌后创建或关联Shopware用户

3. 前端实现SSO跳转逻辑

在Shopware Storefront主题中添加自定义登录触发逻辑:

  • 在登录页面添加「使用公司账号登录」按钮,点击后构造授权URL并跳转:
    // 前端跳转示例代码
    const clientId = '你的Entra ID客户端ID';
    const tenantId = '你的Entra ID租户ID';
    const redirectUri = encodeURIComponent('https://你的shopware域名/account/sso/callback');
    const scope = encodeURIComponent('openid profile email');
    
    const authUrl = `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/authorize?client_id=${clientId}&response_type=code&redirect_uri=${redirectUri}&scope=${scope}&response_mode=query`;
    
    window.location.href = authUrl;
    
  • 回调页面接收授权码,发送至Shopware后端验证接口,后端返回用户会话后,前端同步登录状态

4. 用户自动关联与创建

  • 后端验证ID令牌后,提取用户邮箱、姓名等信息,检查Shopware内是否存在该邮箱的用户
  • 存在则直接关联会话;不存在则自动创建内部用户(设置为员工角色,限制内部访问)

5. 内部访问限制(可选)

  • 在Shopware中创建内部用户组,将自动生成的用户加入该组
  • 在前端路由或后端接口添加权限校验,仅允许内部用户组访问商城

注意事项

  • 确保Entra ID应用注册的重定向URI与Shopware配置完全一致,否则会出现回调失败
  • 令牌验证必须在后端完成,前端仅负责跳转和会话同步,避免敏感令牌暴露
  • 测试阶段可开启Entra ID调试模式,查看授权流程中的错误日志

内容的提问来源于stack exchange,提问作者bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 11:17:06