前言
本文基于go-oauth2/oauth2,参考go-oauth2/oauth2/example、go-oauth2/gin-server、llaoj/oauth2,结合beego框架实现OAuth 2.0授权码方式。
介绍
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某网站上存储的资源(如邮箱、手机、头像等),而无需将用户名和密码提供给第三方应用。
OAuth2.0规定了四种授权方式,授权码、隐藏式、密码式、客户端凭证。本文主要讲解授权码方式的实现。可参考OAuth 2.0的四种方式理解。
(一)在认证和授权的过程中涉及到:
1、服务提供方,用户使用服务提供方来存储受保护的资源,如邮箱、手机、头像。
2、用户,存放在服务提供方的受保护的资源的拥有者。
3、客户端,要访问服务提供方资源的第三方应用。在认证过程之前,客户端要向服务提供者申请客户端标识。
4、授权服务,提供授权。
(二)使用OAuth 2.0进行认证和授权的过程如下所示: