public object Any(ConvertSessionToToken request) { var jwtAuthProvider = AuthenticateService.GetAuthProvider(JwtAuthProvider.Name) as JwtAuthProvider; if (jwtAuthProvider == null) { throw new NotSupportedException("JwtAuthProvider is not registered"); } if (jwtAuthProvider.RequireSecureConnection && !Request.IsSecureConnection) { throw HttpError.Forbidden(ErrorMessages.JwtRequiresSecureConnection); } var session = Request.GetSession(); var token = jwtAuthProvider.CreateJwtBearerToken(session); if (!request.PreserveSession) { Request.RemoveSession(session.Id); } return(new HttpResult(new ConvertSessionToTokenResponse()) { Cookies = { new Cookie(Keywords.JwtSessionToken, token) { HttpOnly = true, Secure = Request.IsSecureConnection, Expires = DateTime.UtcNow.Add(jwtAuthProvider.ExpireTokensIn), } } }); }
public object Any(ConvertSessionToToken request) { var jwtAuthProvider = AuthenticateService.GetAuthProvider(JwtAuthProvider.Name) as JwtAuthProvider; if (jwtAuthProvider == null) throw new NotSupportedException("JwtAuthProvider is not registered"); if (jwtAuthProvider.RequireSecureConnection && !Request.IsSecureConnection) throw HttpError.Forbidden(ErrorMessages.JwtRequiresSecureConnection); var session = Request.GetSession(); if (session.FromToken) return new ConvertSessionToTokenResponse(); var token = jwtAuthProvider.CreateJwtBearerToken(session); if (!request.PreserveSession) Request.RemoveSession(session.Id); return new HttpResult(new ConvertSessionToTokenResponse()) { Cookies = { new Cookie(Keywords.TokenCookie, token, Cookies.RootPath) { HttpOnly = true, Secure = Request.IsSecureConnection, Expires = DateTime.UtcNow.Add(jwtAuthProvider.ExpireTokensIn), } } }; }
public object Any(ConvertSessionToToken request) { var jwtAuthProvider = (JwtAuthProvider)AuthenticateService.GetRequiredJwtAuthProvider(); if (jwtAuthProvider.RequireSecureConnection && !Request.IsSecureConnection) { throw HttpError.Forbidden(ErrorMessages.JwtRequiresSecureConnection.Localize(Request)); } if (Request.ResponseContentType.MatchesContentType(MimeTypes.Html)) { Request.ResponseContentType = MimeTypes.Json; } var token = Request.GetJwtToken(); IAuthSession session = null; var includeTokensInResponse = jwtAuthProvider.IncludeJwtInConvertSessionToTokenResponse; var createFromSession = string.IsNullOrEmpty(token); if (createFromSession || includeTokensInResponse) { session = Request.GetSession(); if (createFromSession) { token = jwtAuthProvider.CreateJwtBearerToken(Request, session); } if (!request.PreserveSession) { Request.RemoveSession(session.Id); } } return(new HttpResult(new ConvertSessionToTokenResponse { AccessToken = includeTokensInResponse ? token : null, RefreshToken = createFromSession && includeTokensInResponse && !request.PreserveSession ? jwtAuthProvider.CreateJwtRefreshToken(Request, session.UserAuthId, jwtAuthProvider.ExpireRefreshTokensIn) : null }) { Cookies = { new Cookie(Keywords.TokenCookie, token, Cookies.RootPath) { HttpOnly = true, Secure = Request.IsSecureConnection, Expires = DateTime.UtcNow.Add(jwtAuthProvider.ExpireTokensIn), } } }); }
public object Any(ConvertSessionToToken request) { var jwtAuthProvider = (JwtAuthProvider)AuthenticateService.GetRequiredJwtAuthProvider(); if (jwtAuthProvider.RequireSecureConnection && !Request.IsSecureConnection) { throw HttpError.Forbidden(ErrorMessages.JwtRequiresSecureConnection.Localize(Request)); } if (Request.ResponseContentType.MatchesContentType(MimeTypes.Html)) { Request.ResponseContentType = MimeTypes.Json; } var token = Request.GetJwtToken(); if (string.IsNullOrEmpty(token)) { var session = Request.GetSession(); token = jwtAuthProvider.CreateJwtBearerToken(Request, session); if (!request.PreserveSession) { Request.RemoveSession(session.Id); } } return(new HttpResult(new ConvertSessionToTokenResponse()) { Cookies = { new Cookie(Keywords.TokenCookie, token, Cookies.RootPath) { HttpOnly = true, Secure = Request.IsSecureConnection, Expires = DateTime.UtcNow.Add(jwtAuthProvider.ExpireTokensIn), } } }); }