プロジェクトで認証と承認に oauth を使用しようとしています。このプロジェクトは、クライアント アプリケーションによって消費されるミドルウェア/API に関するものであるため、クライアント資格情報の付与タイプを使用したいと考えています。対応する client_id と client_secret を 1 つ作成しました。トークンの生成は機能していますが、API エンドポイントに対して生成されたトークンを使用してリクエストを実行しようとすると、django によってアカウント/ログイン ページに転送されます。
<td>http://127.0.0.1:8000/accounts/login/?next=/api/mp/</td>
私の設定は次のとおりです。
MIDDLEWARE = [
'django.contrib.sessions.middleware.SessionMiddleware',
'oauth2_provider.middleware.OAuth2TokenMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',]
AUTHENTICATION_BACKENDS = (
'oauth2_provider.backends.OAuth2Backend',)
そして、これは私のビューでの唯一の機能のトップです:
@csrf_exempt
@require_http_methods(['POST', 'GET'])
@login_required()
def getUserContext(request):
この追加の認証がどこから来ているのか、またはresp. ビューにoauthのみを使用するようにdjangoに指示する方法。