You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-08-06 06:02:40 +03:00
Use minijinja templates to map OIDC claims to user attributes
This commit is contained in:
@@ -49,7 +49,7 @@ pub use self::{
|
||||
UpsreamOAuthProviderSetEmailVerification, UpstreamOAuthAuthorizationSession,
|
||||
UpstreamOAuthAuthorizationSessionState, UpstreamOAuthLink, UpstreamOAuthProvider,
|
||||
UpstreamOAuthProviderClaimsImports, UpstreamOAuthProviderImportAction,
|
||||
UpstreamOAuthProviderImportPreference,
|
||||
UpstreamOAuthProviderImportPreference, UpstreamOAuthProviderSubjectPreference,
|
||||
},
|
||||
users::{
|
||||
Authentication, AuthenticationMethod, BrowserSession, Password, User, UserEmail,
|
||||
|
@@ -22,7 +22,8 @@ pub use self::{
|
||||
ClaimsImports as UpstreamOAuthProviderClaimsImports,
|
||||
ImportAction as UpstreamOAuthProviderImportAction,
|
||||
ImportPreference as UpstreamOAuthProviderImportPreference,
|
||||
SetEmailVerification as UpsreamOAuthProviderSetEmailVerification, UpstreamOAuthProvider,
|
||||
SetEmailVerification as UpsreamOAuthProviderSetEmailVerification,
|
||||
SubjectPreference as UpstreamOAuthProviderSubjectPreference, UpstreamOAuthProvider,
|
||||
},
|
||||
session::{UpstreamOAuthAuthorizationSession, UpstreamOAuthAuthorizationSessionState},
|
||||
};
|
||||
|
@@ -59,6 +59,9 @@ impl SetEmailVerification {
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
|
||||
pub struct ClaimsImports {
|
||||
#[serde(default)]
|
||||
pub subject: SubjectPreference,
|
||||
|
||||
#[serde(default)]
|
||||
pub localpart: ImportPreference,
|
||||
|
||||
@@ -72,10 +75,19 @@ pub struct ClaimsImports {
|
||||
pub verify_email: SetEmailVerification,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
|
||||
pub struct SubjectPreference {
|
||||
#[serde(default)]
|
||||
pub template: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
|
||||
pub struct ImportPreference {
|
||||
#[serde(default)]
|
||||
pub action: ImportAction,
|
||||
|
||||
#[serde(default)]
|
||||
pub template: Option<String>,
|
||||
}
|
||||
|
||||
impl std::ops::Deref for ImportPreference {
|
||||
|
Reference in New Issue
Block a user