예제 #1
0
        public AuthorizationGrant FindAuthorizationGrant(string authorizationCode)
        {
            using (Models.OAuthWebAPIContext context = new Models.OAuthWebAPIContext())
            {
                var authorizationGrant = context.AuthorizationGrants.Where(x => x.Code == authorizationCode).FirstOrDefault();
                if(authorizationGrant != null)
                {
               
                    return new AuthorizationGrant()
                    {                     
                        IsApproved = authorizationGrant.IsApproved,                     
                        IssuedOn = authorizationGrant.IssuedOn,
                        IsUsed = authorizationGrant.IsUsed,
                        ResourceOwnerId = authorizationGrant.ResourceOwnerId,
                        ExpiresIn = authorizationGrant.ExpiresIn,
                        Code = authorizationGrant.Code,
                        Scope = authorizationGrant.Scope,
                        Client = new Client()
                           { 
                               ClientId = authorizationGrant.OAuthClient.ClientId.ToString(),
                                Name = authorizationGrant.OAuthClient.Name,
                                 RedirectUri = new Uri(authorizationGrant.OAuthClient.Callback),
                                  ClientSecret =authorizationGrant.OAuthClient.ClientSecret
                           }
                    };
                }
                else
                {
                    return null;
                }

            }
        }
예제 #2
0
 public void AddAuthorizationGrant(AuthorizationGrant grant)
 {
     Models.AuthorizationGrant authorizationGrant = new Models.AuthorizationGrant()
     {
         ClientId = Convert.ToInt32(grant.Client.ClientId),
         ExpiresIn = grant.ExpiresIn,
         IssuedOn = grant.IssuedOn,
         Scope = grant.Scope,
         Code = grant.Code,
         IsApproved = grant.IsApproved,
         IsUsed = grant.IsUsed,
         ResourceOwnerId = grant.ResourceOwnerId,
     };
     using (Models.OAuthWebAPIContext context = new Models.OAuthWebAPIContext())
     {
         context.AuthorizationGrants.Add(authorizationGrant);
         context.SaveChanges();
     }
 }
예제 #3
0
 public void AddAccessToken(AccessToken token)
 {
     Models.AccessToken accessToken = new Models.AccessToken()
     {
         ClientId = Convert.ToInt32(token.Client.ClientId),
         ExpiresIn = token.ExpiresIn,
         IssuedOn = token.IssuedOn,
         RefreshToken = token.RefreshToken,
         Scope = string.Join(" ", token.Scope),
         Token = token.Token,
         TokenType = token.TokenType,
         AuthorizationGrantCode = token.Grant.Code,
     };
     using (Models.OAuthWebAPIContext context = new Models.OAuthWebAPIContext())
     {
         context.AccessTokens.Add(accessToken);
         context.SaveChanges();
     }
 }
예제 #4
0
        public AuthorizationGrant FindAuthorizationGrant(string clientId, string resourceOwnerId)
        {
             using (Models.OAuthWebAPIContext context = new Models.OAuthWebAPIContext())
            {
                var authorizationGrant = (from x in context.AuthorizationGrants
                     where x.ClientId == Convert.ToInt32(clientId) &&
                     x.ResourceOwnerId == resourceOwnerId
                     orderby x.IssuedOn descending
                     select x).FirstOrDefault();

                if (authorizationGrant != null)
                {
                    return new AuthorizationGrant()
                    {

                        IsApproved = authorizationGrant.IsApproved,
                        IssuedOn = authorizationGrant.IssuedOn,
                        IsUsed = authorizationGrant.IsUsed,
                        ResourceOwnerId = authorizationGrant.ResourceOwnerId,
                        ExpiresIn = authorizationGrant.ExpiresIn,
                        Code = authorizationGrant.Code,
                        Scope = authorizationGrant.Scope,
                        Client = new Client()
                           {
                               ClientId = authorizationGrant.OAuthClient.ClientId.ToString(),
                               Name = authorizationGrant.OAuthClient.Name,
                               RedirectUri = new Uri(authorizationGrant.OAuthClient.Callback),
                               ClientSecret = authorizationGrant.OAuthClient.ClientSecret
                           }
                    };
                }
                else
                {
                    return null;
                }
             }
        }
예제 #5
0
        public SharpOAuth2.Provider.Domain.AccessTokenBase FindToken(string token)
        {
            using (Models.OAuthWebAPIContext context = new Models.OAuthWebAPIContext())
            {
                var accessToken = (from x in context.AccessTokens
                                          where x.Token == token
                                          select x).FirstOrDefault();

                if (accessToken != null)
                {
                    return new AccessToken()
                    {
                        Token = accessToken.Token,
                        TokenType = accessToken.TokenType,
                        IssuedOn = accessToken.IssuedOn,
                        ExpiresIn = accessToken.ExpiresIn,
                        Scope = accessToken.Scope.Split(' '),
                        Client = new Client()
                        {
                            ClientId = accessToken.OAuthClient.ClientId.ToString(),
                            Name = accessToken.OAuthClient.Name,
                            RedirectUri = new Uri(accessToken.OAuthClient.Callback),
                            ClientSecret = accessToken.OAuthClient.ClientSecret
                        },
                        RefreshToken = accessToken.RefreshToken,
                        Grant = new AuthorizationGrant()
                        {
                            Code = accessToken.AuthorizationGrant.Code,
                            ExpiresIn = accessToken.AuthorizationGrant.ExpiresIn,
                            IsApproved = accessToken.AuthorizationGrant.IsApproved,
                            IssuedOn = accessToken.AuthorizationGrant.IssuedOn,
                            IsUsed = accessToken.AuthorizationGrant.IsUsed,
                            ResourceOwnerId = accessToken.AuthorizationGrant.ResourceOwnerId,
                            Scope = accessToken.AuthorizationGrant.Scope
                        }
                    };
                }
                else
                {
                    return null;
                }
            }
        }