课程评价 (4)

请对课程作出评价:
0/300

学员评价

用户5***687
2019-08-12
标准运维源码无法下载,连接密码错误
腾讯***智云
2019-05-10
这个产品已经开源了,可以进行更多的标准插件(原子)开发了 https://github.com/Tencent/bk-sops
用户3***618
2018-10-30
文档不喜欢,来点实际的
用户3***517
2018-10-23
可以
40分钟

登陆实战(实验手册)

获取更多课程代码包,请添加学院君微信(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账号登录蓝鲸和蓝鲸登录用户的注销