Add email to id_token
This commit is contained in:
@ -216,8 +216,8 @@ pub async fn token(req: HttpRequest,
|
||||
clients: web::Data<ClientManager>,
|
||||
app_config: web::Data<AppConfig>,
|
||||
sessions: web::Data<Addr<OpenIDSessionsActor>>,
|
||||
users: web::Data<Addr<UsersActor>>,
|
||||
jwt_signer: web::Data<JWTSigner>) -> actix_web::Result<HttpResponse> {
|
||||
// TODO : check auth challenge : https://oa.dnc.global/-fr-.html?page=unarticle&id_article=148&lang=fr
|
||||
|
||||
// Extraction authentication information
|
||||
let authorization_header = req.headers().get("authorization");
|
||||
@ -318,6 +318,12 @@ pub async fn token(req: HttpRequest,
|
||||
sessions.send(openid_sessions_actor::UpdateSession(session.clone()))
|
||||
.await.unwrap();
|
||||
|
||||
let user: Option<User> = users.send(users_actor::GetUserRequest(session.user.clone()))
|
||||
.await.unwrap().0;
|
||||
let user = match user {
|
||||
None => return Ok(error_response(&query, "invalid_request", "User not found!")),
|
||||
Some(u) => u,
|
||||
};
|
||||
|
||||
// Generate id token
|
||||
let id_token = IdToken {
|
||||
@ -328,6 +334,7 @@ pub async fn token(req: HttpRequest,
|
||||
issued_at: time(),
|
||||
auth_time: session.auth_time,
|
||||
nonce: session.nonce,
|
||||
email: user.email,
|
||||
};
|
||||
|
||||
TokenResponse {
|
||||
|
Reference in New Issue
Block a user