1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-11-20 12:02:22 +03:00

Proactively provision users on registration & sync threepids

This commit is contained in:
Quentin Gliech
2023-04-04 17:06:10 +02:00
parent 169d7ce6a2
commit 8a2be43fe7
16 changed files with 411 additions and 25 deletions

View File

@@ -25,9 +25,10 @@ use mas_axum_utils::{
};
use mas_keystore::Encrypter;
use mas_storage::{
job::{JobRepositoryExt, ProvisionUserJob},
upstream_oauth2::{UpstreamOAuthLinkRepository, UpstreamOAuthSessionRepository},
user::{BrowserSessionRepository, UserRepository},
BoxClock, BoxRepository, BoxRng,
BoxClock, BoxRepository, BoxRng, RepositoryAccess,
};
use mas_templates::{
EmptyContext, TemplateContext, Templates, UpstreamExistingLinkContext, UpstreamRegister,
@@ -285,6 +286,11 @@ pub(crate) async fn post(
(None, None, FormData::Register { username }) => {
let user = repo.user().add(&mut rng, &clock, username).await?;
repo.job()
.schedule_job(ProvisionUserJob::new(&user))
.await?;
repo.upstream_oauth_link()
.associate_to_user(&link, &user)
.await?;