Как сделать аутентификацию в социальных сетях в Django - PullRequest
0 голосов
/ 22 февраля 2019

Я хочу, чтобы пользователи могли регистрироваться на моем веб-сайте с помощью linkedin, и он перенаправляет их на страницу с их экземпляром имени пользователя.Например, URL перенаправления будет содержать имя пользователя http://127.0.0.1:8000/the_username_from_linkedin_profile.

Это URL, на который я хочу перенаправить пользователя после регистрации в 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>

1 Ответ

0 голосов
/ 22 февраля 2019

Вы также можете использовать пакет allauth в django, что дает вам очень гибкий способ реализации аутентификации в социальных сетях.Например, facebook, google, twitter и т. Д.

Найти документацию по здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...