From b564ce8a89d3a96efeec9878de08f66ff34046bd Mon Sep 17 00:00:00 2001 From: "yadong.zhang" Date: Sun, 28 Jun 2020 16:22:04 +0800 Subject: [PATCH] =?UTF-8?q?:memo:=20=E5=A2=9E=E5=8A=A0=20=E5=BC=80?= =?UTF-8?q?=E6=BA=90=E4=B8=AD=E5=9B=BD=20=E6=8E=88=E6=9D=83=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E7=9A=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/_sidebar.md | 2 +- docs/oauth/doc/media/oauth/007acd70.png | Bin 0 -> 27092 bytes docs/oauth/doc/media/oauth/895f76da.png | Bin 0 -> 12135 bytes docs/oauth/doc/media/oauth/f403ad52.png | Bin 0 -> 11725 bytes docs/oauth/oschina.md | 153 ++++++++++++++++++++++++ 5 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 docs/oauth/doc/media/oauth/007acd70.png create mode 100644 docs/oauth/doc/media/oauth/895f76da.png create mode 100644 docs/oauth/doc/media/oauth/f403ad52.png create mode 100644 docs/oauth/oschina.md diff --git a/docs/_sidebar.md b/docs/_sidebar.md index cff3d4b..fd5996e 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -20,7 +20,7 @@ - [微信公众平台登录](oauth/wechat_mp.md) - [√ 百度登录](oauth/baidu.md) - [√ 钉钉登录](oauth/dingtalk.md) - - [开源中国登录](oauth/oschina.md) + - [√ 开源中国登录](oauth/oschina.md) - [淘宝登录](oauth/taobao.md) - [Google登录](oauth/google.md) - [Facebook登录](oauth/facebook.md) diff --git a/docs/oauth/doc/media/oauth/007acd70.png b/docs/oauth/doc/media/oauth/007acd70.png new file mode 100644 index 0000000000000000000000000000000000000000..f443f89aa1c57bc18b757d8b66127b969f012969 GIT binary patch literal 27092 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 literal 0 HcmV?d00001 diff --git a/docs/oauth/doc/media/oauth/895f76da.png b/docs/oauth/doc/media/oauth/895f76da.png new file mode 100644 index 0000000000000000000000000000000000000000..602dc24774d1cfe629ef328d4c639722862232a2 GIT binary patch literal 12135 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 literal 0 HcmV?d00001 diff --git a/docs/oauth/doc/media/oauth/f403ad52.png b/docs/oauth/doc/media/oauth/f403ad52.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6f4be6dbb2aa12bd3be93d643aa461528395c6 GIT binary patch literal 11725 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%0A7Zl!6lv0_=2ux`NJO!*5rY;^-iOtM|B5dHjHm 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 Q(+1qpHMp5~-TL`I0hDfHP5=M^ literal 0 HcmV?d00001 diff --git a/docs/oauth/oschina.md b/docs/oauth/oschina.md new file mode 100644 index 0000000..8a9d465 --- /dev/null +++ b/docs/oauth/oschina.md @@ -0,0 +1,153 @@ +## 1. 申请应用 + +### 1.1 登录钉钉开发者中心 + +1. 登录开源中国:[开源中国](https://www.oschina.net/) +2. 点击访问应用管理页面:[应用管理](https://www.oschina.net/openapi/client) + + +### 1.2 创建第三方授权应用 + +1. 在开源中国应用管理页面,点击“创建应用” +2. 填写基本信息 +![](doc/media/oauth/007acd70.png) +5. 创建后即可看到 应用ID 和 应用私钥。 +![](doc/media/oauth/895f76da.png) + +记录以下三个信息:`应用ID`、`应用私钥`和`回调地址`,后面我们会用到。 + + +## 2. 集成JustAuth + +### 2.1 引入依赖 + +```xml + + me.zhyd.oauth + JustAuth + ${latest.version} + +``` + +`${latest.version}`表示当前最新的版本,可以在[这儿](https://github.com/justauth/JustAuth/releases)获取最新的版本信息。 + +### 2.2 创建Request + +```java +AuthRequest authRequest = new AuthOschinaRequest(AuthConfig.builder() + .clientId("Client ID") + .clientSecret("Client Secret") + .redirectUri("应用回调地址") + .build()); +``` + +### 2.3 生成授权地址 + +我们可以直接使用以下方式生成第三方平台的授权链接: +```java +String authorizeUrl = authRequest.authorize(AuthStateUtils.createState()); +``` +这个链接我们可以直接后台重定向跳转,也可以返回到前端后,前端控制跳转。前端控制的好处就是,可以将第三方的授权页嵌入到iframe中,适配网站设计。 + + +### 2.4 以上完整代码如下 + +```java +import me.zhyd.oauth.config.AuthConfig; +import me.zhyd.oauth.request.AuthOschinaRequest; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.request.AuthRequest; +import me.zhyd.oauth.utils.AuthStateUtils; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + + +@RestController +@RequestMapping("/oauth") +public class RestAuthController { + + @RequestMapping("/render") + public void renderAuth(HttpServletResponse response) throws IOException { + AuthRequest authRequest = getAuthRequest(); + response.sendRedirect(authRequest.authorize(AuthStateUtils.createState())); + } + + @RequestMapping("/callback") + public Object login(AuthCallback callback) { + AuthRequest authRequest = getAuthRequest(); + return authRequest.login(callback); + } + + private AuthRequest getAuthRequest() { + return new AuthOschinaRequest(AuthConfig.builder() + .clientId("应用ID") + .clientSecret("应用私钥") + .redirectUri("回调地址") + .build()); + } +} +``` +授权链接访问成功后会看到以下页面内容: +![](doc/media/oauth/f403ad52.png) + +点击“连接”即可完成百度的 OAuth 登录。 + +## 3. 授权结果 + +注:数据已脱敏 + +```json +{ + "code":2000, + "data":{ + "avatar":"https://oscimg.oschina.net/oscnet/up-2247e2b7c5c9907f70ba2648f9db112d.jpg!/both/50x50?t=1451008261000", + "blog":"https://my.oschina.net/yadong0415", + "email":"yadong.zhang0415@gmail.com", + "gender":"FEMALE", + "location":"北京 朝阳", + "nickname":"HandsomeBoy丶", + "rawUserInfo":{ + "gender":"female", + "name":"HandsomeBoy丶", + "location":"北京 朝阳", + "id":2564550, + "avatar":"https://oscimg.oschina.net/oscnet/up-2247e2b7c5c9907f70ba2648f9db112d.jpg!/both/50x50?t=1451008261000", + "email":"yadong.zhang0415@gmail.com", + "url":"https://my.oschina.net/yadong0415" + }, + "source":"OSCHINA", + "token":{ + "accessToken":"826c0ffaae486e45a657", + "expireIn":604799, + "refreshToken":"dc83aa5aaafc786cf", + "uid":"2aaa0" + }, + "username":"HandsomeBoy丶", + "uuid":"2aa0" + } +} +``` + +## 3. 推荐 + +官方推荐使用 [JustAuth-demo](https://github.com/justauth/JustAuth-demo) 示例项目进行测试。 + +使用步骤: +1. clone: [https://github.com/justauth/JustAuth-demo.git](https://github.com/justauth/JustAuth-demo.git) +2. 将上面申请的应用信息填入到`RestAuthController#getAuthRequest`方法的对应位置中: +![](doc/media/oauth/e1a40945.png) +3. 启动项目,访问 [http://localhost:8443](http://localhost:8443) +4. 选择对应的平台进行授权登录 +![](doc/media/oauth/da2bc692.png) +5. 登录完成后,可以访问[http://localhost:8443/users](http://localhost:8443/users)查看已授权的用户 +![](doc/media/oauth/dbe6bcae.png) + +注: +1. 如果直接使用 JustAuth-demo 项目进行测试,那么在配置测试应用的“回调地址”时要严格按照以下格式配置:`http://localhost:8443/oauth/callback/{平台名}` +2. 平台名参考 `JustAuthPlatformInfo` 枚举类 `names` + + -- GitLab