0970803e5e
- AuthorizationCodeGrant avec PKCE requis (CodeChallenge), RefreshTokenGrant avec rotation + re-vérification d'abonnement, DCR (ClientRegistrationEndpoint) et révocation (RevocationEndpoint) câblés sur le store sqlite (Tasks 1-3), metadata (Task 5) et consent.subscription_ok (Task 6). - _Token (dict + check_client/get_scope) fait le pont entre les rows sqlite bruts et le protocole TokenMixin qu'authlib 1.7.2 attend pour le refresh et la révocation.
13 lines
388 B
Python
13 lines
388 B
Python
from flask import Flask
|
|
|
|
from src.mcp.oauth import server
|
|
|
|
|
|
def test_create_authorization_server(monkeypatch, tmp_path):
|
|
monkeypatch.setenv("USERS_DB_PATH", str(tmp_path / "u.sqlite"))
|
|
monkeypatch.setenv("APP_BASE_URL", "https://colibre.fr")
|
|
app = Flask(__name__)
|
|
app.config["SECRET_KEY"] = "x"
|
|
srv = server.create_authorization_server(app)
|
|
assert srv is not None
|