Exemplo n.º 1
0
        public bool InsertToken(OAuth2.DataModels.Token Token)
        {
            using (IDbConnection db = DBFactory.Open())
            {
                using (IDbTransaction trans = db.BeginTransaction())
                {
                    int res = db.Execute("INSERT INTO AccessToken(access_token, client_id, resource_owner_id, issue_time, expires_in, scope) VALUES (@access_token, @client_id, @resource_owner_id, @issue_time, @expires_in, @scope)",
                                         Token, trans);

                    if (res != 1)
                    {
                        trans.Rollback();
                        return(false);
                    }

                    const string sql = "INSERT INTO AccessToken_Scope(access_token, scope_name) VALUES(@access_token, @scope_name);";

                    foreach (string scope in Token.scope.Split(new char[] { ' ', ',', ';' }, StringSplitOptions.RemoveEmptyEntries))
                    {
                        if (db.Execute(sql, new { access_token = Token.access_token, scope_name = scope }, trans) != 1)
                        {
                            trans.Rollback();
                            return(false);
                        }
                    }

                    trans.Commit();
                    return(true);
                }
            }
        }
Exemplo n.º 2
0
        public bool InsertToken(OAuth2.DataModels.Token Token)
        {
            AddToCacheList(CLIENT_TO_TOKEN_URN, Token.client_id, Token.access_token);

            if (!string.IsNullOrWhiteSpace(Token.resource_owner_id))
            {
                AddToCacheList(RESOURCEOWNER_TO_TOKEN_URN, Token.resource_owner_id, Token.access_token);
            }

            if (!Cache.Set <OAuth2.DataModels.Token>(TOKEN_URN + Token.access_token, (OAuth2.DataModels.Token)Token, TimeSpan.FromSeconds(Token.expires_in)))
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 3
0
        public bool InsertToken(OAuth2.DataModels.Token Token)
        {
            if (CacheTokenModel == null && DBTokenModel == null)
            {
                return(false);
            }

            if (CacheTokenModel != null && !CacheTokenModel.InsertToken(Token))
            {
                return(false);
            }

            if (DBTokenModel != null && !DBTokenModel.InsertToken(Token))
            {
                return(false);
            }

            return(true);
        }