OIDC(OpenID Connect)是一种身份认证与授权的协议,通常用于实现单点登录(SSO)。本文介绍如何在ASM网关上配置基于OIDC协议的单点登录。
前提条件
- 已部署应用到ASM实例。
已为命名空间注入Sidecar。具体操作,请参见开启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单点登录配置生效。