标签:令牌 sso 登录 实现 用户 应用程序 Django SSO 客户端
什么是单点登录呢?
单点登录是用户首次登录时发布安全令牌,使用一组凭据(即安全令牌)登录多个应用程序的一种方式。
将sso添加到应用程序将使用户更容易,因为他们不需要记住多个应用程序的登录凭据。用户只需要首次输入他们的登录凭据,而不是为每个应用程序登录重新输入他们的凭据。
在这篇文章中,我们将看到如何使用django-simple-sso向多个django应用程序添加单点登录。
使用django-simple-sso,我们应该有单个服务器,多个客户端。
1.服务器将拥有所有用户信息,这些信息将在登录时验证用户详细信息,首次创建令牌。使用他们的安全令牌,它将验证用户详细信息
2.每个客户端或应用程序需要在服务器中生成其公钥,私钥以安全地执行请求。
Django SSO如何适用于多个应用程序?
用户→应用程序→SSO服务器→应用程序
1.当用户登录应用程序时,客户端将发送带有下一个GET参数的请求,该参数在成功登录后具有重定向URL
2.将在服务器上验证请求详细信息(应用程序详细信息:公钥,私钥,重定向URL)
3.它返回将在第一次登录时创建的用户请求令牌
4.使用请求令牌,我们向服务器发送请求以验证用户授权。为了成功授权,它将返回用户安全令牌。如果用户未登录,则会要求输入用户登录详细信息。
5.客户端将向服务器发送一个post请求以验证用户访问令牌。
6.如果用户访问令牌有效,则服务器返回序列化的Django User对象。
7.应用程序使用从服务器收到的Django用户登录用户
首先我们要增加Django的插件以实现单点:
服务器端:
1.使用以下命令安装django-simple-sso:
2.运行以下命令以存储每个客户端或应用程序详细信息,用户令牌。
3.在django shell中的服务器端创建应用程序或客户端详细信息(公钥,私钥)。
4.将'simple_sso.sso_server'添加到INSTALLED_APPS
5.初始化服务器并将以下url模式添加到urls.py文件:
客户端:
1.使用以下命令安装django-simple-sso:
2.将公钥,私钥,服务器URL添加到应用程序设置
3.初始化客户端并将以下客户端URL添加到应用程序URL:
url(r'^ client /',include(test_client.get_urls())),
使用上述设置创建2个客户端应用。使用/ etc / hosts文件为您的appplication添加不同的主机名。
访问您的应用程序http://test.yourapp.com:8000/client/,如果尚未登录,它将询问用户凭据。成功登录后,访问其他应用程序http://test.testyourapp.com:8001/client/,用户已经登录。
标签:令牌,sso,登录,实现,用户,应用程序,Django,SSO,客户端 来源: https://www.cnblogs.com/tracydzf/p/12949001.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。