Сервер авторизации отправляет обратно неавторизованную ошибку независимо от того, что
Я пытаюсь аутентифицировать пользователей из другого стороннего приложения. Сервер авторизации использует oauth2. Все мои учетные данные клиента верны. Но когда я получаю запрос на получение кода от сервера авторизации. Согласно документации сервера авторизации, я должен кодировать state
в bas64
.
Ниже приведено мое мнение
def one_id_login(request):
state = "{'method':'IDPW'}";
state = base64.b64encode(state.encode('ascii'))
state = state.decode()
scope = 'e_mehmon'
redirect_url = 'http://127.0.0.1:8000/home/o/redirect/'
return render(request, 'client/login.html', {'url': auth_one_id_url, 'state': state, 'scope': scope, 'redirect': redirect_url})
А это HTML
<body>
<form name="OAuthForm" action="{{ url }}" method="get">
<input type="hidden" name="response_type" value="one_code" />
<input type="hidden" name="client_id" value={{client_id}} />
<input type="hidden" name="redirect_uri" value={{ redirect }} />
<input type="hidden" name="scope" value={{e_scope}} />
<input type="hidden" name="state" value={{ state }} />
</form>
<script type="text/javascript">
document.OAuthForm.submit();
</script>
</body>
Но всегда я получаю следующее сообщение об ошибке
{'error': 'unauthorized_client', 'error_description': 'Unknown Client'}