590b927e31
- Workaround nonce OIDC LinkedIn (non-conformité) : capture MissingClaimError après échange de code réussi et fetch userinfo séparément - Ajout token_endpoint_auth_method: client_secret_post (requis par LinkedIn) - suppress_callback_exceptions=True pour corriger les erreurs Dash multi-pages - Suppression bouton déconnexion redondant sur /compte/admin et style hover incorrect sur la navbar Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
623 B
Python
25 lines
623 B
Python
import os
|
|
|
|
from authlib.integrations.flask_client import OAuth
|
|
from flask import Flask
|
|
|
|
LINKEDIN_DISCOVERY_URL = (
|
|
"https://www.linkedin.com/oauth/.well-known/openid-configuration"
|
|
)
|
|
|
|
oauth = OAuth()
|
|
|
|
|
|
def init_oauth(app: Flask) -> None:
|
|
oauth.init_app(app)
|
|
oauth.register(
|
|
name="linkedin",
|
|
client_id=os.getenv("LINKEDIN_CLIENT_ID"),
|
|
client_secret=os.getenv("LINKEDIN_CLIENT_SECRET"),
|
|
server_metadata_url=LINKEDIN_DISCOVERY_URL,
|
|
client_kwargs={
|
|
"scope": "openid profile email",
|
|
"token_endpoint_auth_method": "client_secret_post",
|
|
},
|
|
)
|