feat(mcp): configuration authlib (grants + PKCE + DCR, #114)
- 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.
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
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
|
||||
Reference in New Issue
Block a user