<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OAuth 2.0 on Leanku 的博客</title><link>https://www.leanku.com/tags/oauth-2.0/</link><description>Recent content in OAuth 2.0 on Leanku 的博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 02 Dec 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.leanku.com/tags/oauth-2.0/index.xml" rel="self" type="application/rss+xml"/><item><title>GitHub 接入与 OAuth 2.0 授权全指南</title><link>https://www.leanku.com/post/safety/a-complete-guide-to-github-access-and-oauth-2.0-authorization/</link><pubDate>Mon, 02 Dec 2024 00:00:00 +0000</pubDate><guid>https://www.leanku.com/post/safety/a-complete-guide-to-github-access-and-oauth-2.0-authorization/</guid><description>&lt;p&gt;接入 GitHub（第三方登录或调用 API）主要依赖 &lt;strong&gt;OAuth 2.0 授权协议&lt;/strong&gt;。通过接入 GitHub，开发者可以实现“用 GitHub 账号一键登录平台”以及“获取用户公开信息、仓库数据”等功能。&lt;/p&gt;&#10;&lt;h2 id="1-接入前的准备创建-oauth-app"&gt;1. 接入前的准备：创建 OAuth App&lt;/h2&gt;&#10;&lt;p&gt;在开始写代码前，必须先在 GitHub 注册一个 OAuth Application。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;登录 GitHub，点击右上角头像 -&amp;gt; &lt;strong&gt;Settings&lt;/strong&gt;（设置）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;在左侧边栏最下方，点击 &lt;strong&gt;Developer settings&lt;/strong&gt;（开发者设置）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;选择 &lt;strong&gt;OAuth Apps&lt;/strong&gt;，点击 &lt;strong&gt;New OAuth App&lt;/strong&gt;（或 &lt;strong&gt;Register a new application&lt;/strong&gt;）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;填写应用信息：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Application name&lt;/strong&gt;：应用名称（如 &lt;code&gt;MyApp&lt;/code&gt;）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Homepage URL&lt;/strong&gt;：应用主页地址（本地测试可填 &lt;code&gt;http://localhost:3000&lt;/code&gt;）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Authorization callback URL&lt;/strong&gt;：&lt;strong&gt;核心字段&lt;/strong&gt;，授权成功后的回调地址（如 &lt;code&gt;http://localhost:3000/api/v1/auth/callback/github&lt;/code&gt;）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;点击 &lt;strong&gt;Register application&lt;/strong&gt; 完成注册。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;注册完成后，系统会生成：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Client ID&lt;/strong&gt;：应用的公开唯一标识。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Client Secret&lt;/strong&gt;：密钥，点击 &lt;strong&gt;Generate a new client secret&lt;/strong&gt; 生成（&lt;strong&gt;切记妥善保管，严禁暴露在前端&lt;/strong&gt;）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;官方参考文档&lt;/strong&gt;：&lt;a href="https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app"&gt;Creating an OAuth app - GitHub Docs&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="2-github-oauth-20-核心交互流程"&gt;2. GitHub OAuth 2.0 核心交互流程&lt;/h2&gt;&#10;&lt;p&gt;GitHub OAuth 2.0 采用标准的&lt;strong&gt;授权码模式（Authorization Code Grant）&lt;/strong&gt;：&lt;/p&gt;</description></item></channel></rss>