使用Go语言接入Choerodon实现基于OAuth2的统一身份认证登录

使用Go语言接入Choerodon实现基于OAuth2的统一身份认证登录

💡 原文中文,约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中,未实现刷新令牌功能。
➡️

继续阅读