Django
sudomimus-django 提供 Connect start、callback、logout 与当前 session 读取所需的 Django views。
from django.urls import pathfrom sudomimus_connect import ConnectClient, ConnectClientAuthWithKeyfrom sudomimus_session import SessionClientfrom sudomimus_django import ( ConnectDjango, DjangoLoginConfig, MemoryDjangoCredentialStore,)
integration = ConnectDjango( DjangoLoginConfig( application_anchor="your-app-anchor", callback_url="https://app.example/auth/callback", after_login_url="/dashboard", after_logout_url="/", ), ConnectClient(client_auth=ConnectClientAuthWithKey( application_anchor="your-app-anchor", private_key_pem=private_key_pem, )), SessionClient(), MemoryDjangoCredentialStore(), # 仅用于本地开发。)
urlpatterns = [ path("auth/start", integration.start), path("auth/callback", integration.callback), path("auth/logout", integration.logout),]在服务端 view 中调用 integration.current(request),读取 pairwise subject 与 access token。该集成不会创建 Django User;应把 subject 映射到你自己的用户记录。
生产环境应使用服务端 Django session backend,并通过共享数据库或 Redis 实现 DjangoCredentialStore。它的 update 操作必须按 session ID 串行化并发 refresh。保持 Django CSRF middleware 启用,并通过 CALLBACK ReturnRule 允许 callback URL。