private void ThrowIfExpired(IOAuthClientFlow flow)
        {
            CheckExpired(flow);
            var session = EntityHelper.GetSession(flow);

            session.Context.ThrowIf(flow.Status == OAuthFlowStatus.Expired, ClientFaultCodes.InvalidAction, "OAuthFlow", "OAuth 2.0 process expired.");
        }
Beispiel #2
0
 public static OAuthFlow ToModel(this IOAuthClientFlow flow)
 {
     if (flow == null)
     {
         return(null);
     }
     return(new OAuthFlow()
     {
         Id = flow.Id, StartedOn = flow.CreatedOn, Status = flow.Status, Server = flow.Account.Server.Name,
         UserId = flow.UserId, AuthorizationUrl = flow.AuthorizationUrl
     });
 }
 private void CheckExpired(IOAuthClientFlow flow)
 {
     switch (flow.Status)
     {
     case OAuthFlowStatus.Started:
     case OAuthFlowStatus.Authorized:
         var session = EntityHelper.GetSession(flow);
         var expires = flow.CreatedOn.AddMinutes(Settings.FlowExpirationMinutes);
         var now     = App.TimeService.UtcNow;
         if (expires > now)
         {
             return;
         }
         //Update the status in database
         flow.Status = OAuthFlowStatus.Expired;
         var updQuery = session.EntitySet <IOAuthClientFlow>().Where(f => f.Id == flow.Id).Select(f => new { Status = OAuthFlowStatus.Expired });
         updQuery.ExecuteUpdate <IOAuthClientFlow>();
         return;
     }
 } //method