登陆实战(实验手册)
获取更多课程代码包,请添加学院君微信(Tcloudedu)二维码在文档底部,回复关键字 “ 蓝鲸 ”
一、实验概述
对于使用蓝鲸的企业,一般情况下都是想使用企业原有的内部统一认证系统来登录蓝鲸,对使用蓝鲸的用户进行认证,本次腾讯云TechWork,我们将带大家快速将蓝鲸登录对接企业内部登录。
二、准备工作
1.Github 账号
三、效果预览
需要在登录、注销 这2个情况下都可以跳转至Github的授权登录页面并在授权登录后自动跳转到实际请求页面,如下图
四、知识点
1.学习如何接入Github登录,相关文档:
https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow
https://developer.github.com/v3/oauth_authorizations/#revoke-an-authorization-for-an-application
2.了解蓝鲸智云统一登录与企业内部登录对接
http://docs.bk.tencent.com/develop_center/enterprise_login/
五、实验任务目标
任务目标: 实现蓝鲸智云统一登录对接Github oauth2.0登录授权
1.创建Github oauth application
登录Github,打开 Settings -> Developer settings -> Oauth App -> New Oauth App -> 填写信息并注册
获取OAuth App 的Client ID和Client Secret,后续需要用到
2.下载参考代码(googel登录)ee_official_login.zip
3.(本地工作目录下)创建ee_login模块,以及文件,如下图
可直接复制ee_official_login进行修改,清空文件内容
4.编写Github登录认证票据的类
自定义Auth Backend 类需要继承于ModelBackend
Github登录票据认证需要code和state
获取登录用户授权的access_token
根据access_token获取用户授权的用户信息
删除用户授权,后续注销才能重新授权
保存用户信息,创建用户
具体代码实现引用的函数实现可在参考代码中的ee_login/oauth/github/utils.py
5.编写登录跳转等登录处理逻辑函数
请求Github登录或注销登录跳转、生成跳转Github登录跳转链接
认证Github是否登录OK
处理认证结果,包括认证成功和失败
6.配置Github登录方式
在ee_login/setting_login.py中配置
CUSTOM_LOGIN_VIEW = 'ee_login.oauth.github.views.login'
CUSTOM_AUTHENTICATION_BACKEND = 'ee_login.oauth.github.backends.OauthBackend'
7.上传代码到服务器上
上传代码到蓝鲸统一登录安装目录,如在安装paas的服务器上 /data/bkce/open_paas/login下放置编写的ee_login模块(注意可能有多台paas机器)
重启paas或paas下的login服务
六、预览
任务完成,可以在搭建的蓝鲸上通过Github账号登录蓝鲸和蓝鲸登录用户的注销
学员评价