예제 #1
0
        /// <summary>
        /// Store the specified userId and credential.
        /// </summary>
        /// <param name="userId">User identifier.</param>
        /// <param name="ssoGroupKey">SSO Group Key.</param>
        /// <param name="credential">Credential.</param>
        virtual public void Store(string userId, string ssoGroupKey, Credential credential)
        {
            Delete(userId, ssoGroupKey);
            SQLCredential cred = new SQLCredential
            {
                UserID       = credential.UserId,
                AuthSocialID = JsonConvert.SerializeObject(credential.AuthSocialID),
                AuthToken    = credential.AuthToken,
                SecAuthToken = credential.SecAuthToken,
                UserName     = credential.UserName,
                Attributes   = JsonConvert.SerializeObject(credential.Attributes),
                UserKMD      = JsonConvert.SerializeObject(credential.UserKMD),
                AccessToken  = credential.AccessToken,
                RefreshToken = credential.RefreshToken,
                RedirectUri  = credential.RedirectUri,
                DeviceID     = credential.DeviceID,
                MICClientID  = credential.MICClientID
            };

            lock (SQLiteFiles[dbPath])
            {
                try
                {
                    _dbConnection.BeginTransaction();
                    _dbConnection.Insert(cred);
                    _dbConnection.Commit();
                }
                catch (Exception)
                {
                    _dbConnection.Rollback();
                    throw;
                }
            }
        }
예제 #2
0
        internal static Credential From(SQLCredential sqlcred)
        {
            Dictionary <string, JToken> attributes     = JsonConvert.DeserializeObject <Dictionary <string, JToken> >(sqlcred.Attributes);
            KinveyUserMetaData          userKMD        = JsonConvert.DeserializeObject <KinveyUserMetaData>(sqlcred.UserKMD);
            KinveyAuthSocialID          socialIdentity = JsonConvert.DeserializeObject <KinveyAuthSocialID>(sqlcred.AuthSocialID);

            var credential = new Credential(sqlcred.UserID, sqlcred.AccessToken, socialIdentity, sqlcred.AuthToken, sqlcred.UserName, attributes, userKMD, sqlcred.RefreshToken, sqlcred.RedirectUri, sqlcred.DeviceID, sqlcred.MICClientID);

            credential.SecAuthToken = sqlcred.SecAuthToken;

            return(credential);
        }