Django应用程序,用于使用IIT Bombay gymkhana SSO进行LDAP身份验证。

iitb-oauth的Python项目详细描述


PyPI releaseTravis-ciPython versionsLicense

Django Oauth2客户端使用IIT Bombay gymkhana SSO进行身份验证

使用IIT Bombay gymkhana SSO进行LDAP身份验证的小软件包。在

动机

SSO可能是一个棘手的事情设置和错误可能是耗时的调试。随着人们从PHP转移到Django和node,这个模块可以用来快速定义自定义回调,将从IIT Bombay gymkhana SSO获得的用户详细信息映射到Django用户模型。一旦用户通过身份验证,您就可以快速、轻松地以编程方式创建用户。在

在应用程序中设置

要使用此Django应用程序,必须执行以下步骤:

INSTALLED_APPS=[# ...'iitb_oauth'# ...]
^{pr2}$

步骤2:将oauth URL添加到根网站:

urlpatterns=[# ...url(r'',include('iitb_oauth.urls')),# ...]

步骤3:为应用程序添加登录URL和相应的OAUTH配置设置。 还要添加FALLBACK_URL作为OAuth身份验证失败时的备用。示例:

AUTH_PROFILE_MODULE=""# In case User has a user profile, specify the class hereLOGIN_URL="/login/"FALLBACK_URL="/"# In case user is not logged in or doesn't have enough permissions to view the contentCLIENT_ID='my-id'CLIENT_SECRET='<secret>'SCOPE='ldap'# ldap is necessary for login, pass only necessary scopes. seperate with spaces# Eg: SCOPE = 'profile ldap program'FIELDS='username'# username is mandatory field. seperate with commas# Eg: FIELDS = 'username,first_name,last_name,email,roll_number'REDIRECT_URI='<app_redirect_url>'# should end with /oauth/complete (the view is provided by this app)LOGIN_COMPLETE_REDIRECT='/some/url/in/your/app'LOGOUT_REDIRECT='/'# redirect to this URL after logout.MAPPINGS={# fields in User model: "LDAP attributes"# email mapped with username@iitb.ac.in if email is not in scope."first_name":"first_name","last_name":"last_name"}# In case a custom User model is defined, map fields in User model: "LDAP attributes"PROFILE_MAPPING={# Maps fields in user profile with response recieved from sso server.# AUTH_PROFILE_MODULE needs to be specified for this to work."roll_number":"roll_number"}

使用

一旦您尝试访问某个顶端有@login_required装饰符的端点,您将被重定向到您定义的登录URI。用户使用IITB gymkhana SSO和您提供的任何其他后端进行身份验证。认证成功后,调用LOGIN_COMPLETE_REDIRECT中指定的url,并使用回调将用户塑造成您提供的表单。如果由于任何原因身份验证失败或者用户没有权限,他将被重定向到FALLBACK_URL中指定的URI。在

许可证

麻省理工学院

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android studio在应用程序中自动添加错误权限   java如何转换“javafx”。场景形象Image@1a3d58b'到正常的文件路径   java这个程序的流程是什么?请启发我的知识   javafx中按钮的java切换组   void方法中使用的void方法的数组组成?(爪哇)   jsp重定向到Liferay Portlet中的Java Servlet   java在创建反转arraylist的方法时遇到问题   使类(包装映射)在Java的forloop中可用   java将TextInputLayout或任何UI组件从活动传递到DialogFragment   java在启动SpringBootApplication时捕获异常   java如何实现像playstore应用程序那样的向下滚动隐藏操作栏?   java如何获得pom文件的完全解析模型?   在Java中将字节数组转换为字符串并返回后得到错误的结果   java数学解析器令牌结构   java是默认的Hibernate(5.2.5)会话级缓存终止性能?