public ActionResult RemoveExternalLogins() { ICollection <OAuthAccount> accounts = OAuthWebSecurity.GetAccountsFromUserName(User.Identity.Name); List <ExternalLogin> externalLogins = new List <ExternalLogin>(); foreach (OAuthAccount account in accounts) { AuthenticationClientData clientData = OAuthWebSecurity.GetOAuthClientData(account.Provider); externalLogins.Add(new ExternalLogin { Provider = account.Provider, ProviderDisplayName = clientData.DisplayName, ProviderUserId = account.ProviderUserId, }); } ViewBag.ShowRemoveButton = externalLogins.Count > 1 || OAuthWebSecurity.HasLocalAccount(WebSecurity.GetUserId(User.Identity.Name)); return(PartialView("_RemoveExternalLoginsPartial", externalLogins)); }
public List <AccountMembershipViewModel> GetAllRelatedAccountMembershipViewModels() { var result = new List <AccountMembershipViewModel>(); var listOAthMembership = this.Session.QueryOver <OAuthMembership>().Where(x => x.UserProfile.Id == User.Current.UserID).List(); if (listOAthMembership != null && listOAthMembership.Any()) { listOAthMembership.Each(x => { AuthenticationClientData clientData = OAuthWebSecurity.GetOAuthClientData(x.Provider); result.Add(new AccountMembershipViewModel() { ID = x.Id, OAuthProvider = x.Provider, OAuthProviderUserID = x.ProviderUserID, ProviderDisplayName = clientData.DisplayName, }); }); } return(result); }
public void RegisterClient(IAuthenticationClient client, string displayName, IDictionary <string, object> extraData) { if (client == null) { throw new ArgumentNullException("client"); } if (String.IsNullOrEmpty(client.ProviderName)) { throw new ArgumentException("InvalidServiceProviderName", "client"); } if (_authenticationClients.ContainsKey(client.ProviderName)) { throw new ArgumentException("ServiceProviderNameExists", "client"); } var clientData = new AuthenticationClientData(client, displayName, extraData); _authenticationClients.Add(client.ProviderName, clientData); }
public ExternalAccounts ExternalAccounts() { ICollection <OAuthAccount> accounts = OAuthWebSecurity.GetAccountsFromUserName(User.Identity.Name); List <ExternalLogin> externalLogins = new List <ExternalLogin>(); foreach (OAuthAccount account in accounts) { AuthenticationClientData clientData = OAuthWebSecurity.GetOAuthClientData(account.Provider); externalLogins.Add(new ExternalLogin { Provider = account.Provider, ProviderDisplayName = clientData.DisplayName, ProviderUserId = account.ProviderUserId, }); } ExternalAccounts externalLoginList = new ExternalAccounts(); externalLoginList.ExternalLogins = externalLogins; externalLoginList.ShowRemoveButton = externalLogins.Count > 1 || OAuthWebSecurity.HasLocalAccount(WebSecurity.GetUserId(User.Identity.Name)); return(externalLoginList); }
public ActionResult RemoveExternalLogins() { IEnumerable <OAuthAccount> accounts = _membershipProvider.GetOAuthAccountsFromEmailAddress(User.Identity.Name); var externalLogins = new List <ExternalLoginModel>(); foreach (OAuthAccount account in accounts) { AuthenticationClientData clientData = _membershipProvider.GetOAuthClientData(account.Provider); if (clientData == null) { continue; } externalLogins.Add(new ExternalLoginModel { Provider = account.Provider, ProviderDisplayName = clientData.DisplayName, ProviderUserId = account.ProviderUserId, Username = account.Username }); } ViewBag.ShowRemoveButton = externalLogins.Count > 1 || _membershipProvider.HasLocalAccount(User.Identity.Name); return(PartialView("_RemoveExternalLoginsPartial", externalLogins)); }
/// <summary> /// Requests the OAuth authentication. /// </summary> /// <param name="provider">The provider.</param> /// <param name="returnUrl">The return URL.</param> public void RequestOAuthAuthentication(string provider, string returnUrl) { AuthenticationClientData client = _authenticationClients[provider]; _applicationEnvironment.RequestAuthentication(client.AuthenticationClient, this, returnUrl); }
public OAuthClientData GetClientData(AuthenticationClientData clientData) { return(Mapper.Map <AuthenticationClientData, OAuthClientData>(clientData)); }
// // Summary: // Indicates whether the provider gets an OAuth client data. // // Parameters: // providerName: // The provider name. // // clientData: // The client data. // // Returns: // true if the provider gets an OAuth client data; otherwise, false. public static bool TryGetOAuthClientData(string providerName, out AuthenticationClientData clientData) { return(OAuthWebSecurity.TryGetOAuthClientData(providerName, out clientData)); }