django-oauth2
Introduction
OAuth2 Resource ์๋ฒ๋ฅผ ๊ตฌํํ๊ธฐ ์ํ Django์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฆฌ๋์ OAuth2 Resource ์๋ฒ ๊ท์น์ ๋ฐ๋ผ ์์ฑ ๋์์ต๋๋ค.
Requirement
Django 2.0.0
or higher
Python 3.6
or higher
Usage
INSTALLED_APPS = [
# ...
'ridi_django_oauth2' ,
]
# Middleware Setting
MIDDLEWARE_CLASSES = (
# ...
'ridi_django_oauth2.middlewares.AuthenticationMiddleware' ,
)
AUTH_USER_MODEL = 'ridi_django_oauth2.RidiUser'
# RIDI Setting
RIDI_OAUTH2_KEY_URL = 'https://{auth_server_host}/oauth2/keys/public'
RIDI_OAUTH2_CLIENT_ID = 'this-is-client-id'
RIDI_OAUTH2_CLIENT_SECRET = 'this-is-client-secret'
RIDI_OAUTH2_AUTHORIZATION_URL = 'https://{auth_server_host}/oauth2/authorize/'
RIDI_OAUTH2_TOKEN_URL : 'https://{auth_server_host}/oauth2/token/'
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES' : (
'ridi_django_oauth2.rest_framework.authentication.OAuth2Authentication' ,
)
}
# OPTIONAL
# RIDI_OAUTH2_GET_USER_FROM_TOKEN_INFO ๋ user model์ด `u_idx` col๊ณผ ํธํ๋์ง ์์์ ์ฌ์ฉํฉ๋๋ค.
def _get_user_from_token_info (token_info ):
user , _ = get_user_model ().objects .get_or_create (idx = token_info .u_idx )
return user
RIDI_OAUTH2_GET_USER_FROM_TOKEN_INFO = _get_user_from_token_info
TODO