/// <summary>
        /// Remove associated login by LoginProvider and ProviderKey
        /// </summary>
        /// <param name="request">Instance of RemoveLoginRequest</param>
        /// <returns>Instance of RemoveLoginResponse</returns>
        public async Task <RemoveLoginResponse> RemoveLoginAsync(RemoveLoginRequest request)
        {
            RemoveLoginResponse response = new RemoveLoginResponse();

            try
            {
                IdentityResult result = await UserManager.RemoveLoginAsync(request.UserId.ToString(), new UserLoginInfo(request.LoginProvider, request.ProviderKey));

                if (!result.Succeeded)
                {
                    response.AddErrors(response.Errors);
                    response.Success = false;
                }
                else
                {
                    response.Success = true;
                }
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Errors.Add(e.Message);
            }

            return(response);
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Disassociate(string loginProvider, string providerKey)
        {
            ManageMessageId?    message  = null;
            RemoveLoginResponse response = await this.Membership.RemoveLoginAsync(new RemoveLoginRequest()
            {
                UserId        = new Guid(User.Identity.GetUserId()),
                LoginProvider = loginProvider,
                ProviderKey   = providerKey
            });

            if (response.Success)
            {
                message = ManageMessageId.RemoveLoginSuccess;
            }
            else
            {
                message = ManageMessageId.Error;
            }

            return(RedirectToAction("Manage", new { Message = message }));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Remove associated login by LoginProvider and ProviderKey
        /// </summary>
        /// <param name="request">Instance of RemoveLoginRequest</param>
        /// <returns>Instance of RemoveLoginResponse</returns>
        public async Task<RemoveLoginResponse> RemoveLoginAsync(RemoveLoginRequest request)
        {
            RemoveLoginResponse response = new RemoveLoginResponse();

            try
            {
                IdentityResult result = await UserManager.RemoveLoginAsync(request.UserId.ToString(), new UserLoginInfo(request.LoginProvider, request.ProviderKey));

                if (!result.Succeeded)
                {
                    response.AddErrors(response.Errors);
                    response.Success = false;
                }
                else
                {
                    response.Success = true;
                }

            }
            catch (Exception e)
            {
                response.Success = false;
                response.Errors.Add(e.Message);
            }

            return response;
        }