コード例 #1
0
        public string GetUserNameFromOpenAuth(string provider, string providerUserId)
        {
            var user = _userStore.GetUserByOAuthProvider(provider, providerUserId);

            if (user != null)
            {
                return(user.Username);
            }
            return(String.Empty);
        }
コード例 #2
0
        /// <summary>
        ///   Dissassociates the OAuth account for a userid.
        /// </summary>
        /// <param name="provider"> The provider. </param>
        /// <param name="providerUserId"> The provider user id. </param>
        /// <returns> </returns>
        public bool DisassociateOAuthAccount(string provider, string providerUserId)
        {
            IFlexMembershipUser user = _userStore.GetUserByOAuthProvider(provider, providerUserId);

            if (user == null)
            {
                return(false);
            }
            IEnumerable <OAuthAccount> accounts = _userStore.GetOAuthAccountsForUser(user.Username);

            if (HasLocalAccount(user.Username))
            {
                return(_userStore.DeleteOAuthAccount(provider, providerUserId));
            }

            if (accounts.Count() > 1)
            {
                return(_userStore.DeleteOAuthAccount(provider, providerUserId));
            }

            return(false);
        }