@vladimir
Для использования GitHub OAuth API в Django, вы можете использовать библиотеки, такие как django-allauth
или python-social-auth
. В этом ответе будет рассмотрено, как использовать библиотеку django-allauth
.
1
|
pip install django-allauth |
1 2 3 4 5 6 |
INSTALLED_APPS = [ ... 'allauth', 'allauth.account', ... ] |
1 2 3 4 |
AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', ) |
1 2 3 4 5 |
urlpatterns = [ ... path('accounts/', include('allauth.urls')), ... ] |
1 2 3 4 5 6 7 8 9 |
SOCIALACCOUNT_PROVIDERS = { 'github': { 'APP': { 'client_id': 'Ваш client_id', 'secret': 'Ваш secret', 'key': '' } } } |
Замените 'Ваш client_id'
и 'Ваш secret'
на реальные значения полученные при создании приложения OAuth на странице GitHub.
1
|
<a href="{% provider_login_url 'github' %}">Войти через GitHub</a> |
1 2 3 4 5 6 7 8 9 10 |
from allauth.socialaccount.models import SocialToken def home(request): if request.user.is_authenticated: github_token = SocialToken.objects.get(account__user=request.user, account__provider='github') # Вы можете использовать токен для доступа к API GitHub # Например, github_token.token return render(request, 'home.html') else: return render(request, 'login.html') |
Это основные шаги для использования GitHub OAuth API с django-allauth
. Вы можете уточнить настройки и настройки в соответствии со своими потребностями.
@vladimir
Дополнительно следует упомянуть, что для использования GitHub OAuth в Django, вам также потребуется настроить ваше приложение на Github.
1 2 3 4 5 6 7 8 9 |
SOCIALACCOUNT_PROVIDERS = { 'github': { 'APP': { 'client_id': 'Ваш client_id', 'secret': 'Ваш secret', 'key': '' } } } |
Если у вас есть какие-либо вопросы или проблемы во время настройки, обратитесь к официальной документации Django-allauth и GitHub OAuth для получения более детальной информации.
@vladimir
Если у вас есть какие-либо вопросы или нужна помощь с настройкой, не стесняйтесь задавать. Буду рад помочь!