Github的App有两种,一种是普通的App,一般用以制作自动化机器人,另一种是利用用户登录的App,它可以操作登录用户的Github里面的API定义的操作,包括:用户信息获取,仓库信息修改,用户信息修改,等等。
OAuth2的定义
OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容,OAuth2.0 是 OAuth 协议的延续版本,但不向后兼容 OAuth 1.0,即完全废止了 OAuth1.0。
Github OAuth App
通过 OAuth2 协议可以让外部应用不用输入用户密码的情况下获取 GitHub 帐号的隐私信息,在 OAuth App 下的应用使用 GitHub 作为唯一标识。比起传统的简单认证方式来说,这种方式的认证具有更大的优势,因为对于token来说,它限制了数据类型,同时token也可以被用户随时撤销。
一个 OAuth App 运行起来就像一个已认证的用户,OAuth App 适合创建复杂的流程,而 OAuth App 通常是被部署到某个站点下面,在认证中会重定向到这个站点并附加一些参数,用于验证流程进行一些复杂的操作。
关于 Github OAuth App 的更多介绍可以查看这里。
Github上创建 OAuth App
创建 Github App 很简单,只需要等陆 Github,在设置里面进行,它允许创建 Github App 和 Github OAuth App,这里我们创建的是 Github OAuth App。
登陆个人设置页面创建 App
在个人设置的左侧的导航栏的下方,有一个 Developer settings 的选项。
在下一步中,我们创建了一个 OAuth App,并给它起名 blogchat。
创建完 OAuth App 后,我们可以查看它的一些必要信息,比如:Client ID ,Client secrets,等等。
还可以在其中对 App 进行一些信息的修改,例如:logo图片。
在 App 的设置页面里面有很多的项目设定,其中有两项比较重要的设定,一个是 App 的主页的 URL,还有一个是认证的重定向回调 URL。
重定向回调URL用于在认证的时候传入 code,code 是用于后续的向 Github 获取 access_token 而需要的
在个人设置里面,对于 OAuth App 的设置到这里基本完成了,我们需要使用工具对 App 进行测试调通,如果可行的话,那么就说明我们的 App 是没有问题的,进而才可以进行后续的开发。