Authlib для linkedin и fastapi ⇐ Python
-
Гость
Authlib для linkedin и fastapi
Я пытаюсь создать логин с помощью linkedIn и authlib, но при попытке получить токен возникают ошибки. Я могу перенаправить на связанную аутентификацию, а затем перенаправить на обратный вызов. Но у меня проблемы с авторизованным_access_token(запросом).
Может ли кто-нибудь помочь проверить правильность моей реализации?
Вот какую ошибку я получаю:
{"error":"invalid_request: отсутствует обязательный параметр "client_secret"
oauth.register( «линкедин», client_id=LINKEDIN_CLIENT_ID, client_secret=LINKEDIN_CLIENT_SECRET, api_base_url='https://api.linkedin.com/v2/', authorize_url='https://www.linkedin.com/oauth/v2/authorization', access_token_url='https://www.linkedin.com/oauth/v2/accessToken', client_kwargs={'scope': 'электронная почта профиля openid'}, ) @router.get('/логин') асинхронное определение linkedin_login (запрос: запрос): linkedin = oauth.create_client('linkedin') если линкедин: распечатать(linkedin.name) redirect_uri = request.url_for('linkedin_auth') печать (redirect_uri) return await linkedin.authorize_redirect(запрос, redirect_uri) еще: return {'ошибка': 'клиент linkedin не найден'} @router.get('/auth') асинхронная защита linkedin_auth (запрос: запрос): linkedin = oauth.create_client('linkedin') если линкедин: пытаться: токен = ожидайте linkedin.authorize_access_token (запрос) токен возврата кроме исключения как e: вернуть {'ошибка': str(e)} Я пробовал изменить конфигурацию регистрации, но это не помогло. Я считаю, что моя реализация правильна, но ошибки все равно возникают
Я пытаюсь создать логин с помощью linkedIn и authlib, но при попытке получить токен возникают ошибки. Я могу перенаправить на связанную аутентификацию, а затем перенаправить на обратный вызов. Но у меня проблемы с авторизованным_access_token(запросом).
Может ли кто-нибудь помочь проверить правильность моей реализации?
Вот какую ошибку я получаю:
{"error":"invalid_request: отсутствует обязательный параметр "client_secret"
oauth.register( «линкедин», client_id=LINKEDIN_CLIENT_ID, client_secret=LINKEDIN_CLIENT_SECRET, api_base_url='https://api.linkedin.com/v2/', authorize_url='https://www.linkedin.com/oauth/v2/authorization', access_token_url='https://www.linkedin.com/oauth/v2/accessToken', client_kwargs={'scope': 'электронная почта профиля openid'}, ) @router.get('/логин') асинхронное определение linkedin_login (запрос: запрос): linkedin = oauth.create_client('linkedin') если линкедин: распечатать(linkedin.name) redirect_uri = request.url_for('linkedin_auth') печать (redirect_uri) return await linkedin.authorize_redirect(запрос, redirect_uri) еще: return {'ошибка': 'клиент linkedin не найден'} @router.get('/auth') асинхронная защита linkedin_auth (запрос: запрос): linkedin = oauth.create_client('linkedin') если линкедин: пытаться: токен = ожидайте linkedin.authorize_access_token (запрос) токен возврата кроме исключения как e: вернуть {'ошибка': str(e)} Я пробовал изменить конфигурацию регистрации, но это не помогло. Я считаю, что моя реализация правильна, но ошибки все равно возникают