public void SetupOAuthClient(WebApiClient client, IOAuthAccessToken token) { var session = EntityHelper.GetSession(token); var tokenValue = token.AccessToken; client.AddAuthorizationHeader(tokenValue, scheme: token.TokenType.ToString()); }
public static OAuthUserStatus ToOAuthStatus(this IOAuthAccessToken accessToken) { if (accessToken == null) { return new OAuthUserStatus() { Authorized = false } } ; var session = EntityHelper.GetSession(accessToken); var utcNow = session.Context.App.TimeService.UtcNow; if (accessToken.ExpiresOn < utcNow) { return new OAuthUserStatus() { Authorized = false } } ; return(new OAuthUserStatus() { Authorized = true, RetrievedOn = accessToken.RetrievedOn, ExpiresOn = accessToken.ExpiresOn, Scopes = accessToken.GetScopes(), UserId = accessToken.UserId }); }
public static string[] GetScopes(this IOAuthAccessToken token) { if (string.IsNullOrWhiteSpace(token.Scopes)) { return new string[] { } } ; return(token.Scopes.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)); }
public static IOAuthOpenIdToken NewOpenIdToken(this IOAuthAccessToken accessToken, OpenIdToken idToken, string json) { var session = EntityHelper.GetSession(accessToken); var tknEnt = accessToken.OpenIdToken = session.NewEntity <IOAuthOpenIdToken>(); tknEnt.Issuer = idToken.Issuer; tknEnt.AuthContextRef = idToken.ContextRef; tknEnt.Subject = idToken.Subject; tknEnt.Audience = idToken.Audience; tknEnt.IssuedAt = OpenIdConnectUtil.FromUnixTime(idToken.IssuedAt); tknEnt.ExpiresAt = OpenIdConnectUtil.FromUnixTime(idToken.ExpiresAt); if (idToken.AuthTime > 0) { tknEnt.AuthTime = OpenIdConnectUtil.FromUnixTime(idToken.AuthTime); } tknEnt.FullJson = json; return(tknEnt); }