OIDC 是 OpenID Connect 的缩写。Gitea,Harbor 等都支持 OIDC,可以考虑将 OIDC 作为一个研发基础设施,为其他系统提供登录服务。目前 dex 自带 LDAP,Github,Gitea,Gitlab,Google,MicroSoft 等大量 connectors。实现自己的 connector 也不难,看看其他的抄一个就可以了。
添加自定义connector
实现 LoginURL
, HandleCallback
及 Refresh
三个函数即可
LoginURL
跳转到 idp 登录页面,带上 dex 的 callback 地址及 state 参数
HandleCallback
处理 idp 回调URL,返回 identity
Refresh
Refresh is implemented for backwards compatibility, even though it's a no-op.
自动grant access
跳过授权界面。
oauth2:
skipApprovalScreen: true
参考资料
1. https://en.wikipedia.org/wiki/OpenID_Connect
2. https://github.com/dexidp/dex
3. https://github.com/dexidp/dex/issues/1172
发表回复