一条龙,你会了吗 - 用Django建立整合AD登入

说明

本篇将继续介绍使用django-social-auth设定整合Activate Directory方式,直接整合使用者系统,无痛建立使用者资料库!!

安装与设定

pip install social-auth-django

接着在settings.py中设定以下资讯:

SOCIAL_AUTH_AZUREAD_OAUTH2_KEY = ''
SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET = ''
SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID = ''
SOCIAL_AUTH_AZUREAD_OAUTH2_RESOURCE = 'https://graph.microsoft.com/'

AUTHENTICATION_BACKENDS = (
    ...
    'social_core.backends.azuread_tenant.AzureADTenantOAuth2',
    ...
)

其中SOCIAL_AUTH_AZUREAD_OAUTH2_KEYSOCIAL_AUTH_AZUREAD_OAUTH2_SECRETSOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID的资讯取得方式已在上篇说明,SOCIAL_AUTH_AZUREAD_OAUTH2_RESOURCE可以设定其他microsoft提供的resource,最後是在AUTHENTICATION_BACKENDS中加入'social_core.backends.azuread_tenant.AzureADTenantOAuth2'

完成後须执行python manage.py migrate,让资料库加入social-auth自订的Table。

最後在HTML页面中加入以下程序码

<a href="{% url "social:begin" "azuread-tenant-oauth2" %}">Azure AD login</a>

就会在页面中看到Azure AD login的按钮,按下去出现下列画面就大功告成啦~~可以直接登入罗!!

image-20201015174125065

结论

在前面已经介绍过了网站部属的服务(AKS、App Service)、资料库(PostgreSQL)、资料储存(Storage)、容器(Container Registry),基本上已经可以建立一个完整的网站了。再加上讯息推播(Notification hub)让网站资讯可以与手机整合、讯息处理(Service Bus)提供非同步执行方式,提供更多元的服务设定。最後还有Key Vault、Application Gateway 赋予网站更安全的资讯放置位置,以及更安全的流量把关。透过对以上服务的了解,已经可以建立一条龙的网站服务了

稍微比对一下介绍过的服务与Azure上的服务,其实介绍过的还不到Azure 所有服务的一半,还有很多服务都还没有接触过,还有很多新的服务等待探索。或许明年再回头来看这次写的文章,还会有许多可以补充的地方,待明年的我经过一年的历练,再来分享,本系列用Azure建立一条龙的服务到这边,下台一鞠躬,谢谢!!


Amos3.0 团队系列文

以下为团队所有成员的主题,也欢迎大家前往欣赏喔!


<<:  [day-30] 从U-net 学到了什麽

>>:  JavaScript 之旅 (30):总结 & 系列目录

Day 3 - Android Studio 的设置

Day 3 -Android Studio 的设置 听了前面那些介绍,想必大家已经很迫不期待的想要开...

Day 12 - 在 FRRouting 上设定 BGP

在 VyOS 上设定好 BGP 後,我们来 FRRouting 上设定吧! 环境 我们这次内网使用 ...

Day.9 备份还原 - 还原资料 (MYSQL binlog )-下

前情提要: 在前一天的部分我们备份好user资料库数据,和准备资料的动作 << 那就直接...

python的基本语法-回圈

我在学生时代的大魔王-回圈loop 曾经写了一个无限回圈,让电脑执行时当机XD loop以英文直接来...

Spring Tool Suites 开发工具/设定(Day2)

正所谓 磨刀霍霍向猪羊,好的IDE可以让你coding事半功倍,如同好的菜刀可以让你切猪无往不利。 ...