geoaxis的django认证后端
django-geoaxis的Python项目详细描述
用于GeoAxISoauth的django身份验证后端。
要求
pip install git+ssh://git@github.com:boundlessgeo/django-geoaxis.git#egg=django_geoaxis
本地设置.py(示例)
importosfromdjango.confimportsettingsdefisValid(v):ifvandlen(v)>0:returnTrueelse:returnFalseSOCIAL_AUTH_NEW_USER_REDIRECT_URL='/'DEFAULT_AUTH_PIPELINE=('social_core.pipeline.social_auth.social_details','social_core.pipeline.social_auth.social_uid','social_core.pipeline.social_auth.auth_allowed','social_core.pipeline.social_auth.social_user','social_core.pipeline.user.get_username','social_core.pipeline.mail.mail_validation','social_core.pipeline.social_auth.associate_by_email','social_core.pipeline.user.create_user','social_core.pipeline.social_auth.associate_user','social_core.pipeline.social_auth.load_extra_data','social_core.pipeline.user.user_details')SOCIAL_AUTH_GEOAXIS_KEY=os.getenv('OAUTH_GEOAXIS_KEY',None)SOCIAL_AUTH_GEOAXIS_SECRET=os.getenv('OAUTH_GEOAXIS_SECRET',None)SOCIAL_AUTH_GEOAXIS_HOST=os.getenv('OAUTH_GEOAXIS_HOST',None)OAUTH_GEOAXIS_USER_FIELDS=os.getenv('OAUTH_GEOAXIS_USER_FIELDS','username, email, last_name, first_name')SOCIAL_AUTH_GEOAXIS_USER_FIELDS=map(str.strip,OAUTH_GEOAXIS_USER_FIELDS.split(','))OAUTH_GEOAXIS_SCOPES=os.getenv('OAUTH_GEOAXIS_SCOPES','UserProfile.me')SOCIAL_AUTH_GEOAXIS_SCOPE=map(str.strip,OAUTH_GEOAXIS_SCOPES.split(','))ENABLE_GEOAXIS_LOGIN=isValid(SOCIAL_AUTH_GEOAXIS_KEY)ifsettings.SITEURL.startswith('https'):SOCIAL_AUTH_REDIRECT_IS_HTTPS=True# GeoAxisOAuth2 will cause all login attempt to fail if# SOCIAL_AUTH_GEOAXIS_HOST is NoneifENABLE_GEOAXIS_LOGIN:settings.AUTHENTICATION_BACKENDS+=('django_geoaxis.backends.geoaxis.GeoAxisOAuth2',)
添加登录模板
将以下内容添加到登录模板中。
{% if ENABLE_GEOAXIS_LOGIN %} <aclass="btn-geoaxis btn-social btn bg-ms btn-block"href="{% url 'social:begin' 'geoaxis' %}?{{ redirect_field_name }}={{ redirect_field_value }}"><iclass="fa fa-lock"></i> Log In with GeoAxis </a>