使用dex实现OIDC Provider

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注