【问题标题】:How do I do a social media authentication in django如何在 django 中进行社交媒体身份验证
【发布时间】:2019-02-22 18:05:21
【问题描述】:

我希望用户能够通过linkedin 在我的网站上注册,并将他们重定向到包含他们用户名实例的页面。例如,重定向 url 将包含他们的用户名 http://127.0.0.1:8000/the_username_from_linkedin_profile

这是我希望用户在用linkedin注册后重定向到的网址。

path(r'<str:username>/', views.dashboard, name='dashboard'),

这是仪表板视图。

@login_required
def dashboard(request, username):
    """Dashboard page for user"""

    if request.user.username != username:
        return redirect(reverse(
        'accounts:dashboard',
        args=(request.user.username,))
    )
    return render(request, 'accounts/dashboard.html')

这是带有注册Linkedin按钮的模板。

<form id="registrationForm" class='white-popup-block mfp-hide' method='post' action="{% url 'accounts:register'%}">
    <div id="reg-errors"></div>
    <div class="form-group">
    {% csrf_token %}

{{ reg_form.fullname|add_class:'form-control input-upper my-3' }}
{{ reg_form.username|add_class:'form-control input-upper my-3' }}
{{ reg_form.email|add_class:'form-control input-upper my-3' }}
{{ reg_form.organization|add_class:'form-control input-upper my-3' }}
{{ reg_form.password1|add_class:'form-control input-upper my-3' }}
{{ reg_form.password2|add_class:'form-control input-upper my-3' }}
<small style="color:black" class="text-already"><b>By registering you agree to our</b><a href="{% url 'tos' %}"> terms and conditions</a></small>
<div class='text-center'>
  <img src='/static/images/loader.gif' id='regLoader' class='d-none' />
</div>
<div id="regSection">
  <button type="submit" class="btn btn-primary btn-block btn-signup-form">
    <i class="fa fa-user-plus fa-2x ml-10" aria-hidden="true"></i>
    SIGN UP
  </button>
  <a href="{% url 'social:begin' 'linkedin-oauth2' %}?next={{ next }}" class='btn btn-primary btn-block btn-sign-linkedin'> <i class="fab fa-linkedin-in"></i>  &nbsp; &nbsp;Register with Linkedin</i></a>
  {% comment %} <a href="{% url 'social:begin' 'linkedin-oauth2' %}?next={{ next }}" class='btn btn-primary btn-block btn-sign-linkedin'> <i class="fab fa-linkedin-in"></i>  &nbsp; &nbsp;Register with Linkedin</i></a> {% endcomment %}
  <p style="color:black" class="text-already d-none d-md-block"><b>Already have an account? </b><a id='sidebarCollapse1' href="#" >LOGIN</a></p>
  <p style="color:black" class="text-already d-md-none"><b>Already have an account? </b><a id='loginRedirect' href="#loginForm" >LOGIN</a></p>
</div>

【问题讨论】:

  • 我看不出你遇到了什么问题。

标签: django python-social-auth


【解决方案1】:

您还可以在 django 中使用 allauth 包,它为您提供了非常灵活的方式来实现社交媒体身份验证。如facebookgoogletwitter等。

here查找文档

【讨论】:

  • 是的,我只是想先用 django_social_app 用尽所有选项,因为我正在处理一个已经存在的项目
猜你喜欢
  • 2020-03-03
  • 1970-01-01
  • 2017-04-27
  • 1970-01-01
  • 2014-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-21
相关资源
最近更新 更多