💡
原文中文,约4100字,阅读约需10分钟。
📝
内容提要
本文记录了使用Go语言的OAuth2库接入OAuth2实现统一身份认证登录的过程,选择了授权码模式。通过Choerodon的OAuth服务进行认证,注册客户端获取参数,重定向用户到认证授权页面获取授权码。回调函数中交换授权码获取访问令牌,并使用令牌进行API请求获取用户权限信息。登出函数清除会话信息并返回登出URL。示例代码将信息和令牌保存在Session中,也可以考虑使用Jwt。未实现刷新令牌功能。
🎯
关键要点
- 本文记录使用Go语言的OAuth2库接入OAuth2实现统一身份认证登录的过程。
- 选择了授权码模式进行OAuth2认证,使用Choerodon的OAuth服务。
- 在OAuth2服务注册客户端以获取ClientID、ClientSecret和RedirectURL等参数。
- 通过创建路由将用户重定向到OAuth2服务的认证授权页面以获取授权码。
- 在回调函数中校验state参数并交换授权码获取访问令牌。
- 使用访问令牌进行API请求以获取用户权限信息,并将其保存在Session中。
- 实现了用户登出功能,清除会话信息并返回登出URL。
- 示例代码将用户信息和token保存在Session中,未实现刷新令牌功能。
➡️