OIDC(OpenID Connect)是一种身份认证与授权的协议,通常用于实现单点登录(SSO)。本文介绍如何在ASM网关上配置基于OIDC协议的单点登录。
前提条件
- 已部署应用到ASM实例。
- 已为命名空间注入Sidecar。具体操作,请参见多种方式灵活开启自动注入。
- 已获取ASM网关地址。具体操作,请参见查看入口网关基本信息。
- 已完成IdP(身份提供商)的配置。具体操作,请参见ASM集成阿里云IDaaS实现网格内应用单点登录的步骤一和步骤二。IdP配置完成后,您可以得到如下信息,用于下文步骤5的配置。
redirect uri:http://${网关地址}/oauth2/callback issuer:https://eiam-api-cn-hangzhou.aliyuncs.com/v2/idaas_tbn25osdlmz6gtqfq3j2pz****/app_ml5tzapsl7zmfo53wb3nwk****/oidc client id:******** client secret:*********
说明 本文以阿里云IDaaS的IdP为例。若您使用自建的OIDC服务,请参考ASM中集成Keycloak实现网格内应用单点登录实现网格内应用的单点登录。
操作步骤
- 登录ASM控制台,在左侧导航栏,选择 。
- 在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
- 在入口网关页面,单击目标网关名称。
- 在网关概览页面左侧导航栏,选择 。
- 在OIDC配置配置向导,打开启用网关OIDC单点登录开关,进行相关配置,然后单击下一步。
配置项 说明 登录重定向地址 本文选择使用网关IP地址。 callback地址 重定向地址。 Issuer OIDC颁发者的URL。 颁发者提供的客户端ID(ClientID) 颁发者提供的客户端ID。 颁发者提供的客户端密钥(ClientSecret) 颁发者提供的客户端密钥。 Cookie密钥 Secure Cookies的种子(支持Base64编码)。 Cookie过期时间 到达该时间后刷新Cookie。设置为0表示关闭刷新。 Cookie刷新时间 每间隔该时间刷新Cookie。设置为0表示关闭。 用户信息范围Scopes 指定获取的Scopes。指定的Scope必须被Issuer支持。 - 在匹配规则配置向导,进行相关配置,然后单击提交。
配置项 说明 匹配模式 本文选择选中请求必须经过认证。取值说明如下: - 选中请求必须经过认证:需要用户登录才能进行访问。
- 选中请求可跳过认证:无需用户登录,即可进行访问。
添加配置规则 打开HTTP路径(Path)开关,配置为/productpage。该配置表示路径为/productpage的请求必须经过OIDC认证。 创建成功后,在完成配置向导会显示“网关OIDC单点登录创建成功”和服务网格原生的安全资源。您可以单击查看YAML,查看资源的具体配置。 - 使用浏览器访问http://${ASM网关地址}/productpage,验证OIDC单点登录配置是否生效。如下图所示,您登录后访问成功,表明OIDC单点登录配置生效。