public void SetupOAuthClient(WebApiClient client, IOAuthAccessToken token)
        {
            var session    = EntityHelper.GetSession(token);
            var tokenValue = token.AccessToken;

            client.AddAuthorizationHeader(tokenValue, scheme: token.TokenType.ToString());
        }
Exemple #2
0
        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
            });
        }
Exemple #3
0
 public static string[] GetScopes(this IOAuthAccessToken token)
 {
     if (string.IsNullOrWhiteSpace(token.Scopes))
     {
         return new string[] { }
     }
     ;
     return(token.Scopes.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
 }
Exemple #4
0
        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);
        }