40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """OAuth provider URLs"""
 | |
| from django.urls import path
 | |
| from django.views.decorators.csrf import csrf_exempt
 | |
| 
 | |
| from passbook.providers.oauth2.constants import SCOPE_OPENID
 | |
| from passbook.providers.oauth2.utils import protected_resource_view
 | |
| from passbook.providers.oauth2.views.authorize import AuthorizationFlowInitView
 | |
| from passbook.providers.oauth2.views.introspection import TokenIntrospectionView
 | |
| from passbook.providers.oauth2.views.jwks import JWKSView
 | |
| from passbook.providers.oauth2.views.provider import ProviderInfoView
 | |
| from passbook.providers.oauth2.views.session import EndSessionView
 | |
| from passbook.providers.oauth2.views.token import TokenView
 | |
| from passbook.providers.oauth2.views.userinfo import UserInfoView
 | |
| 
 | |
| urlpatterns = [
 | |
|     path("authorize/", AuthorizationFlowInitView.as_view(), name="authorize",),
 | |
|     path("token/", csrf_exempt(TokenView.as_view()), name="token"),
 | |
|     path(
 | |
|         "userinfo/",
 | |
|         csrf_exempt(protected_resource_view([SCOPE_OPENID])(UserInfoView.as_view())),
 | |
|         name="userinfo",
 | |
|     ),
 | |
|     path(
 | |
|         "introspect/",
 | |
|         csrf_exempt(TokenIntrospectionView.as_view()),
 | |
|         name="token-introspection",
 | |
|     ),
 | |
|     path(
 | |
|         "<slug:application_slug>/end-session/",
 | |
|         EndSessionView.as_view(),
 | |
|         name="end-session",
 | |
|     ),
 | |
|     path("<slug:application_slug>/jwks/", JWKSView.as_view(), name="jwks"),
 | |
|     path(
 | |
|         "<slug:application_slug>/.well-known/openid-configuration",
 | |
|         ProviderInfoView.as_view(),
 | |
|         name="provider-info",
 | |
|     ),
 | |
| ]
 | 
