46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """passbook oauth_provider urls"""
 | |
| from django.urls import include, path
 | |
| from django.views.decorators.csrf import csrf_exempt
 | |
| 
 | |
| from passbook.providers.oauth2.constants import (
 | |
|     SCOPE_GITHUB_ORG_READ,
 | |
|     SCOPE_GITHUB_USER_EMAIL,
 | |
| )
 | |
| from passbook.providers.oauth2.utils import protected_resource_view
 | |
| from passbook.providers.oauth2.views.authorize import AuthorizationFlowInitView
 | |
| from passbook.providers.oauth2.views.github import GitHubUserTeamsView, GitHubUserView
 | |
| from passbook.providers.oauth2.views.token import TokenView
 | |
| 
 | |
| github_urlpatterns = [
 | |
|     path(
 | |
|         "login/oauth/authorize",
 | |
|         AuthorizationFlowInitView.as_view(),
 | |
|         name="github-authorize",
 | |
|     ),
 | |
|     path(
 | |
|         "login/oauth/access_token",
 | |
|         csrf_exempt(TokenView.as_view()),
 | |
|         name="github-access-token",
 | |
|     ),
 | |
|     path(
 | |
|         "user",
 | |
|         csrf_exempt(
 | |
|             protected_resource_view([SCOPE_GITHUB_USER_EMAIL])(GitHubUserView.as_view())
 | |
|         ),
 | |
|         name="github-user",
 | |
|     ),
 | |
|     path(
 | |
|         "user/teams",
 | |
|         csrf_exempt(
 | |
|             protected_resource_view([SCOPE_GITHUB_ORG_READ])(
 | |
|                 GitHubUserTeamsView.as_view()
 | |
|             )
 | |
|         ),
 | |
|         name="github-user-teams",
 | |
|     ),
 | |
| ]
 | |
| 
 | |
| urlpatterns = [
 | |
|     path("", include(github_urlpatterns)),
 | |
| ]
 | 
