私はリンクされた認証APIを使用して、Webサイトのユーザーにログインしています。私は、次のURLにリダイレクトしていますすべての無効なredirect_uriを与えるLinkedin認証
まず:
https://www.linkedin.com/oauth/v2/authorization?' \
'response_type=code' \
'&client_id=*****' \
'&redirect_uri=http%3A%2F%2F127.0.0.1%3A8000%2Faccounts%2Flinkedin%2Fcallback%3Fnext%3D%2Fhome' \
'&state=123456789' \
'&scope=r_basicprofile%20r_emailaddress'
これが正常にLinkedInの認証ダイアログボックスにリダイレクトします。リンクされたアプリユーザーに許可を与えることを受け入れると、code
paramが追加されたredirect_uriにリダイレクトされます。
requests.post(
'https://www.linkedin.com/oauth/v2/accessToken',
data={
'grant_type': 'authorization_code',
'code': returned code in previous step,
'redirect_uri': 'http%3A%2F%2F127.0.0.1%3A8000%2Faccounts%2Flinkedin%2Fcallback%3Fnext%3D%2Fhome',
'client_id': ****,
'client_secret': settings.LINKEDIN_CLIENT_SECRET,
}
)
が、この要求は成功していないと私は理由を知りません:
はその後、私は次のようなPOSTリクエストを送ります!あなたはPOSTでリダイレクトURIのURLエンコードされた値を提供している、あなたのトークン要求で
{'error': 'invalid_redirect_uri', 'error_description': 'Unable to retrieve access token: appid or redirect uri or code verifier does not match authorization code or authorization code expired'}
あなたはREDIRECT_URIは、両方の要求でも同じです見ての通り...
送信する必要があります。 (リンクされているかどうかわかりませんが)redirect_uriを送信しないとうまくいくのですか? "ます。https://www.linkedin –
はい、それは必要ではLinkedInのドキュメントに – mohammad