public HarvestAuthenticationOptions() { ClaimsIssuer = HarvestAuthenticationDefaults.Issuer; CallbackPath = HarvestAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = HarvestAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = HarvestAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = HarvestAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "user", "id"); ClaimActions.MapJsonSubKey(ClaimTypes.GivenName, "user", "first_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Surname, "user", "last_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "user", "email"); ClaimActions.MapCustomJson( ClaimTypes.Name, payload => { if (!payload.TryGetProperty("user", out var user)) { return(null); } return($"{user.GetString("first_name")} {user.GetString("last_name")}".Trim()); }); }
public KakaoTalkAuthenticationOptions() { ClaimsIssuer = KakaoTalkAuthenticationDefaults.Issuer; CallbackPath = KakaoTalkAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = KakaoTalkAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = KakaoTalkAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = KakaoTalkAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapCustomJson(ClaimTypes.Name, user => { JsonElement property = user; bool hasProperty = property.TryGetProperty("kakao_account", out property) && property.TryGetProperty("profile", out property) && property.TryGetProperty("nickname", out property) && property.ValueKind == JsonValueKind.String; return(hasProperty ? property.GetString() : null); }); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "kakao_account", "email"); ClaimActions.MapJsonSubKey(ClaimTypes.DateOfBirth, "kakao_account", "birthday"); ClaimActions.MapJsonSubKey(ClaimTypes.Gender, "kakao_account", "gender"); ClaimActions.MapJsonSubKey(ClaimTypes.MobilePhone, "kakao_account", "phone_number"); ClaimActions.MapJsonSubKey(Claims.AgeRange, "kakao_account", "age_range"); ClaimActions.MapJsonSubKey(Claims.YearOfBirth, "kakao_account", "birthyear"); }
public SpotifyAuthenticationOptions() { ClaimsIssuer = SpotifyAuthenticationDefaults.Issuer; CallbackPath = SpotifyAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = SpotifyAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = SpotifyAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = SpotifyAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonKey(ClaimTypes.Name, "display_name"); ClaimActions.MapJsonKey(ClaimTypes.Email, "email"); ClaimActions.MapJsonKey(ClaimTypes.DateOfBirth, "birthdate"); ClaimActions.MapJsonKey(ClaimTypes.Country, "country"); ClaimActions.MapJsonKey(ClaimTypes.Uri, "uri"); ClaimActions.MapJsonKey(Claims.Product, "product"); ClaimActions.MapJsonSubKey(Claims.Url, "external_urls", "spotify"); ClaimActions.MapCustomJson( Claims.ProfilePicture, user => { if (user.TryGetProperty("images", out var images)) { return(images.EnumerateArray().Select((p) => p.GetString("url")).FirstOrDefault()); } return(null); }); }
/// <summary> /// Initializes a new <see cref="FacebookOptions"/>. /// </summary> public FacebookOptions() { CallbackPath = new PathString("/signin-facebook"); SendAppSecretProof = true; AuthorizationEndpoint = FacebookDefaults.AuthorizationEndpoint; TokenEndpoint = FacebookDefaults.TokenEndpoint; UserInformationEndpoint = FacebookDefaults.UserInformationEndpoint; Scope.Add("public_profile"); Scope.Add("email"); Fields.Add("name"); Fields.Add("email"); Fields.Add("first_name"); Fields.Add("last_name"); ClaimActions.MapJsonKey("sub", "id"); ClaimActions.MapJsonSubKey("urn:facebook:age_range_min", "age_range", "min"); ClaimActions.MapJsonSubKey("urn:facebook:age_range_max", "age_range", "max"); ClaimActions.MapJsonKey("birthdate", "birthday"); ClaimActions.MapJsonKey("email", "email"); ClaimActions.MapJsonKey("name", "name"); ClaimActions.MapJsonKey("given_name", "first_name"); ClaimActions.MapJsonKey("middle_name", "middle_name"); ClaimActions.MapJsonKey("family_name", "last_name"); ClaimActions.MapJsonKey("gender", "gender"); ClaimActions.MapJsonKey("urn:facebook:link", "link"); ClaimActions.MapJsonSubKey("urn:facebook:location", "location", "name"); ClaimActions.MapJsonKey("locale", "locale"); ClaimActions.MapJsonKey("urn:facebook:timezone", "timezone"); }
/// <summary> /// Initializes a new <see cref="FacebookOptions"/>. /// </summary> public FacebookOptions() { CallbackPath = new PathString("/signin-facebook"); SendAppSecretProof = true; AuthorizationEndpoint = FacebookDefaults.AuthorizationEndpoint; TokenEndpoint = FacebookDefaults.TokenEndpoint; UserInformationEndpoint = FacebookDefaults.UserInformationEndpoint; Scope.Add("email"); Fields.Add("name"); Fields.Add("email"); Fields.Add("first_name"); Fields.Add("last_name"); ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonSubKey("urn:facebook:age_range_min", "age_range", "min"); ClaimActions.MapJsonSubKey("urn:facebook:age_range_max", "age_range", "max"); ClaimActions.MapJsonKey(ClaimTypes.DateOfBirth, "birthday"); ClaimActions.MapJsonKey(ClaimTypes.Email, "email"); ClaimActions.MapJsonKey(ClaimTypes.Name, "name"); ClaimActions.MapJsonKey(ClaimTypes.GivenName, "first_name"); ClaimActions.MapJsonKey("urn:facebook:middle_name", "middle_name"); ClaimActions.MapJsonKey(ClaimTypes.Surname, "last_name"); ClaimActions.MapJsonKey(ClaimTypes.Gender, "gender"); ClaimActions.MapJsonKey("urn:facebook:link", "link"); ClaimActions.MapJsonSubKey("urn:facebook:location", "location", "name"); ClaimActions.MapJsonKey(ClaimTypes.Locality, "locale"); ClaimActions.MapJsonKey("urn:facebook:timezone", "timezone"); }
public EsiaAuthenticationOptions() { CallbackPath = new PathString("/signin-esia"); AuthorizationEndpoint = EsiaAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = EsiaAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = EsiaAuthenticationDefaults.UserInformationEndpoint; Scope.Add(EsiaConstants.UserInformationScope); ClaimActions.MapJsonKey(ClaimTypes.DateOfBirth, "birthDate"); ClaimActions.MapJsonKey(ClaimTypes.Gender, "gender"); ClaimActions.MapJsonKey(ClaimTypes.GivenName, "firstName"); ClaimActions.MapJsonKey(ClaimTypes.Surname, "lastName"); ClaimActions.MapJsonKey(EsiaConstants.TrustedUrn, "trusted"); ClaimActions.MapJsonKey(EsiaConstants.MiddleNameUrn, "middleName"); ClaimActions.MapJsonKey(EsiaConstants.BirthPlaceUrn, "birthPlace"); ClaimActions.MapJsonKey(EsiaConstants.CitizenshipUrn, "citizenship"); ClaimActions.MapJsonKey(EsiaConstants.SnilsUrn, "snils"); ClaimActions.MapJsonKey(EsiaConstants.InnUrn, "inn"); ClaimActions.MapJsonSubKey("sub", "profile", "profile_id"); //ClaimActions.MapCustomJson(ClaimTypes.Name, ParseName); //ClaimActions.MapCustomJson(ClaimTypes.Email, obj => ParseContactInfo(obj, "EML")); //ClaimActions.MapCustomJson(ClaimTypes.MobilePhone, obj => ParseContactInfo(obj, "MBT")); //ClaimActions.MapCustomJson(ClaimTypes.HomePhone, obj => ParseContactInfo(obj, "PHN")); //ClaimActions.MapCustomJson(ClaimTypes.OtherPhone, obj => ParseContactInfo(obj, "CPH")); }
/// <summary> /// Initializes a new <see cref="GoogleOptions"/>. /// </summary> public GoogleOptions() { CallbackPath = new PathString("/signin-google"); AuthorizationEndpoint = GoogleDefaults.AuthorizationEndpoint; TokenEndpoint = GoogleDefaults.TokenEndpoint; UserInformationEndpoint = GoogleDefaults.UserInformationEndpoint; Scope.Add("openid"); Scope.Add("profile"); Scope.Add("email"); ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); if (GoogleDefaults.UseGooglePlus) { ClaimActions.MapJsonKey(ClaimTypes.Name, "displayName"); ClaimActions.MapJsonSubKey(ClaimTypes.GivenName, "name", "givenName"); ClaimActions.MapJsonSubKey(ClaimTypes.Surname, "name", "familyName"); ClaimActions.MapJsonKey("urn:google:profile", "url"); ClaimActions.MapCustomJson(ClaimTypes.Email, GoogleHelper.GetEmail); } else { ClaimActions.MapJsonKey(ClaimTypes.Name, "name"); ClaimActions.MapJsonKey(ClaimTypes.GivenName, "given_name"); ClaimActions.MapJsonKey(ClaimTypes.Surname, "family_name"); ClaimActions.MapJsonKey("urn:google:profile", "link"); ClaimActions.MapJsonKey(ClaimTypes.Email, "email"); } }
public BasecampAuthenticationOptions() { ClaimsIssuer = BasecampAuthenticationDefaults.Issuer; CallbackPath = BasecampAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = BasecampAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = BasecampAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = BasecampAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "identity", "id"); ClaimActions.MapJsonSubKey(ClaimTypes.GivenName, "identity", "first_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Surname, "identity", "last_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "identity", "email_address"); }
/// <summary> /// Initializes a new <see cref="PodbeanOptions"/>. /// </summary> public PodbeanOptions() { CallbackPath = new PathString("/signin-podbean"); AuthorizationEndpoint = PodbeanDefaults.AuthorizationEndpoint; TokenEndpoint = PodbeanDefaults.TokenEndpoint; UserInformationEndpoint = PodbeanDefaults.UserInformationEndpoint; Scope.Add("podcast_read"); Scope.Add("episode_read"); ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "podcast", "id"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "podcast", "title"); ClaimActions.MapJsonSubKey("urn:podbean:logo", "podcast", "logo"); ClaimActions.MapJsonSubKey(ClaimTypes.Webpage, "podcast", "link"); }
public DropboxAuthenticationOptions() { ClaimsIssuer = DropboxAuthenticationDefaults.Issuer; CallbackPath = new PathString(DropboxAuthenticationDefaults.CallbackPath); AuthorizationEndpoint = DropboxAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = DropboxAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = DropboxAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "account_id"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "name", "display_name"); ClaimActions.MapJsonKey(ClaimTypes.Email, "email"); }
public MailChimpAuthenticationOptions() { ClaimsIssuer = MailChimpAuthenticationDefaults.Issuer; CallbackPath = new PathString(MailChimpAuthenticationDefaults.CallbackPath); AuthorizationEndpoint = MailChimpAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = MailChimpAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = MailChimpAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "login", "login_id"); ClaimActions.MapJsonKey(ClaimTypes.Name, "accountname"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "login", "login_email"); }
public ServiceChannelAuthenticationOptions() { ClaimsIssuer = ServiceChannelAuthenticationDefaults.Issuer; CallbackPath = ServiceChannelAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = ServiceChannelAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = ServiceChannelAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = ServiceChannelAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "UserProfile", "UserId"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "UserProfile", "UserName"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "UserProfile", "Email"); ClaimActions.MapJsonSubKey(Claims.ProviderId, "UserProfile", "ProviderId"); ClaimActions.MapJsonSubKey(Claims.ProviderName, "UserProfile", "ProviderName"); }
public SalesforceAuthenticationOptions() { ClaimsIssuer = SalesforceAuthenticationDefaults.Issuer; CallbackPath = SalesforceAuthenticationDefaults.CallbackPath; Environment = SalesforceAuthenticationDefaults.Environment; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "user_id"); ClaimActions.MapJsonKey(ClaimTypes.Name, "username"); ClaimActions.MapJsonKey(Claims.Email, "email"); ClaimActions.MapJsonKey(Claims.UtcOffset, "utcOffset"); ClaimActions.MapJsonSubKey(Claims.RestUrl, "urls", "rest"); ClaimActions.MapJsonSubKey(Claims.ThumbnailPhoto, "photos", "thumbnail"); }
public LichessAuthenticationOptions() { ClaimsIssuer = LichessAuthenticationDefaults.Issuer; CallbackPath = LichessAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = LichessAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = LichessAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = LichessAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonKey(ClaimTypes.Name, "username"); ClaimActions.MapJsonKey(ClaimTypes.Email, "email"); ClaimActions.MapJsonSubKey(ClaimTypes.GivenName, "profile", "firstName"); ClaimActions.MapJsonSubKey(ClaimTypes.Surname, "profile", "lastName"); }
public FoursquareAuthenticationOptions() { ClaimsIssuer = FoursquareAuthenticationDefaults.Issuer; CallbackPath = FoursquareAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = FoursquareAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = FoursquareAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = FoursquareAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonKey(ClaimTypes.Surname, "lastName"); ClaimActions.MapJsonKey(ClaimTypes.GivenName, "firstName"); ClaimActions.MapJsonKey(ClaimTypes.Gender, "gender"); ClaimActions.MapJsonKey(ClaimTypes.Uri, "canonicalUrl"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "contact", "email"); ClaimActions.MapCustomJson(ClaimTypes.Name, user => $"{user.GetString("firstName")} {user.GetString("lastName")}".Trim()); }
/// <summary> /// Initializes a new instance of the <see cref="TwitterAuthenticationOptions"/> class. /// </summary> public TwitterAuthenticationOptions() { ClaimsIssuer = TwitterAuthenticationDefaults.Issuer; CallbackPath = TwitterAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = TwitterAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = TwitterAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = TwitterAuthenticationDefaults.UserInformationEndpoint; UsePkce = true; Scope.Add("tweet.read"); Scope.Add("users.read"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "data", "username"); ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "data", "id"); ClaimActions.MapJsonSubKey(Claims.Name, "data", "name"); }
public PatreonAuthenticationOptions() { ClaimsIssuer = PatreonAuthenticationDefaults.Issuer; CallbackPath = PatreonAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = PatreonAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = PatreonAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = PatreonAuthenticationDefaults.UserInformationEndpoint; Scope.Add("users"); Scope.Add("pledges-to-me"); Scope.Add("my-campaign"); ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "attributes", "full_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Webpage, "attributes", "url"); ClaimActions.MapJsonSubKey(Claims.Avatar, "attributes", "thumb_url"); }
public PatreonAuthenticationOptions() { ClaimsIssuer = PatreonAuthenticationDefaults.Issuer; CallbackPath = PatreonAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = PatreonAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = PatreonAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = PatreonAuthenticationDefaults.UserInformationEndpoint; Scope.Add("identity"); ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "attributes", "email"); ClaimActions.MapJsonSubKey(ClaimTypes.GivenName, "attributes", "first_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "attributes", "full_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Surname, "attributes", "last_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Webpage, "attributes", "url"); ClaimActions.MapJsonSubKey(Claims.Avatar, "attributes", "thumb_url"); }
/// <summary> /// Initializes a new instance of the <see cref="ShopifyAuthenticationOptions"/> class. /// </summary> public ShopifyAuthenticationOptions() { ClaimsIssuer = ShopifyAuthenticationDefaults.Issuer; CallbackPath = ShopifyAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = ShopifyAuthenticationDefaults.AuthorizationEndpointFormat; TokenEndpoint = ShopifyAuthenticationDefaults.TokenEndpointFormat; UserInformationEndpoint = ShopifyAuthenticationDefaults.UserInformationEndpointFormat; ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "shop", "myshopify_domain"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "shop", "name"); ClaimActions.MapJsonSubKey(ClaimTypes.Webpage, "shop", "domain"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "shop", "email"); ClaimActions.MapJsonSubKey(ClaimTypes.Country, "shop", "country_code"); ClaimActions.MapJsonSubKey(ClaimTypes.StateOrProvince, "shop", "province_code"); ClaimActions.MapJsonSubKey(ClaimTypes.PostalCode, "shop", "zip"); ClaimActions.MapJsonSubKey(ClaimTypes.Locality, "shop", "primary_locale"); ClaimActions.MapJsonSubKey(ShopifyAuthenticationDefaults.ShopifyPlanNameClaimType, "shop", "plan_name"); ClaimActions.MapJsonSubKey(ShopifyAuthenticationDefaults.ShopifyEligibleForPaymentsClaimType, "shop", "eligible_for_payments", ClaimValueTypes.Boolean); ClaimActions.MapJsonSubKey(ShopifyAuthenticationDefaults.ShopifyTimezoneClaimType, "shop", "timezone"); }
public SlackAuthenticationOptions() { ClaimsIssuer = SlackAuthenticationDefaults.Issuer; CallbackPath = SlackAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = SlackAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = SlackAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = SlackAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapCustomJson(ClaimTypes.NameIdentifier, user => string.Concat(user.GetProperty("team").GetString("id"), "|", user.GetProperty("user").GetString("id"))); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "user", "name"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "user", "email"); ClaimActions.MapJsonSubKey(Claims.UserId, "user", "id"); ClaimActions.MapJsonSubKey(Claims.TeamId, "team", "id"); ClaimActions.MapJsonSubKey(Claims.TeamName, "team", "name"); Scope.Add("identity.basic"); }
public SlackAuthenticationOptions() { ClaimsIssuer = SlackAuthenticationDefaults.Issuer; CallbackPath = new PathString(SlackAuthenticationDefaults.CallbackPath); AuthorizationEndpoint = SlackAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = SlackAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = SlackAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapCustomJson(ClaimTypes.NameIdentifier, user => string.Concat(user["team"]["id"], "|", user["user"]["id"])); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "user", "name"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "user", "email"); ClaimActions.MapJsonSubKey("urn:slack:user_id", "user", "id"); ClaimActions.MapJsonSubKey("urn:slack:team_id", "team", "id"); ClaimActions.MapJsonSubKey("urn:slack:team_name", "team", "name"); Scope.Add("identity.basic"); }
public SpotifyAuthenticationOptions() { ClaimsIssuer = SpotifyAuthenticationDefaults.Issuer; CallbackPath = new PathString(SpotifyAuthenticationDefaults.CallbackPath); AuthorizationEndpoint = SpotifyAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = SpotifyAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = SpotifyAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonKey(ClaimTypes.Name, "display_name"); ClaimActions.MapJsonKey(ClaimTypes.Email, "email"); ClaimActions.MapJsonKey(ClaimTypes.DateOfBirth, "birthdate"); ClaimActions.MapJsonKey(ClaimTypes.Country, "country"); ClaimActions.MapJsonKey(ClaimTypes.Uri, "uri"); ClaimActions.MapJsonKey(Claims.Product, "product"); ClaimActions.MapJsonSubKey(Claims.Url, "external_urls", "spotify"); ClaimActions.MapCustomJson(Claims.ProfilePicture, user => user.Value <JArray>("images")?.First?.Value <string>("url")); }
public MixcloudAuthenticationOptions() { ClaimsIssuer = MixcloudAuthenticationDefaults.Issuer; CallbackPath = MixcloudAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = MixcloudAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = MixcloudAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = MixcloudAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "key"); ClaimActions.MapJsonKey(ClaimTypes.Name, "username"); ClaimActions.MapJsonKey(Claims.FullName, "name"); ClaimActions.MapJsonKey(Claims.Biography, "biog"); ClaimActions.MapJsonKey(Claims.City, "city"); ClaimActions.MapJsonKey(ClaimTypes.Country, "country"); ClaimActions.MapJsonKey(Claims.ProfileUrl, "url"); ClaimActions.MapJsonSubKey(Claims.ProfileImageUrl, "pictures", "320wx320h"); ClaimActions.MapJsonSubKey(Claims.ProfileThumbnailUrl, "pictures", "thumbnail"); }
/// <summary> /// Initializes a new <see cref="KakaoOptions"/>. /// </summary> public KakaoOptions() { CallbackPath = new PathString("/signin-kakao"); AuthorizationEndpoint = KakaoDefaults.AuthorizationEndpoint; TokenEndpoint = KakaoDefaults.TokenEndpoint; UserInformationEndpoint = KakaoDefaults.UserInformationEndpoint; Scope.Add("r_basicprofile"); Scope.Add("r_emailaddress"); Scope.Add("email"); ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonKey(ClaimTypes.Email, "kaccount_email"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "properties", "nickname"); ClaimActions.MapJsonSubKey("urn:kakao:thumbnail", "properties", "url"); //ClaimActions.MapJsonSubKey(ClaimTypes.Name, "properties", "nickname"); //ClaimActions.MapJsonSubKey(ClaimTypes.GivenName, "name", "givenName"); //ClaimActions.MapJsonSubKey(ClaimTypes.Surname, "name", "familyName"); //ClaimActions.MapJsonSubKey("urn:kakao:thumenail", "properties", "url"); //ClaimActions.MapCustomJson(ClaimTypes.Email, KakaoHelper.GetEmail); }
/// <summary> /// Initializes a new <see cref="SpaceOptions"/>. /// </summary> public SpaceOptions() { CallbackPath = new PathString("/signin-space"); AuthorizationEndpoint = SpaceDefaults.AuthorizationEndpointPath; TokenEndpoint = SpaceDefaults.TokenEndpointPath; UserInformationEndpoint = SpaceDefaults.UserInformationEndpointPath; ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); ClaimActions.MapJsonKey(SpaceClaimTypes.UserId, "id"); ClaimActions.MapJsonKey(SpaceClaimTypes.UserName, "username"); ClaimActions.MapCustomJson(SpaceClaimTypes.SmallAvatar, element => element.TryGetProperty("smallAvatar", out var p) && ServerUrl != null ? ServerUrl.ToString().TrimEnd('/') + "/d/" + p.GetString() : null); ClaimActions.MapCustomJson(SpaceClaimTypes.ProfilePicture, element => element.TryGetProperty("profilePicture", out var p) && ServerUrl != null ? ServerUrl.ToString().TrimEnd('/') + "/d/" + p.GetString() : null); ClaimActions.MapJsonSubKey(SpaceClaimTypes.FirstName, "name", "firstName"); ClaimActions.MapJsonSubKey(SpaceClaimTypes.LastName, "name", "lastName"); ClaimActions.MapCustomJson(ClaimTypes.Name, element => { if (element.TryGetProperty("name", out var nameElement) && nameElement.ValueKind == JsonValueKind.Object) { return(nameElement.TryGetProperty("firstName", out var firstName) && nameElement.TryGetProperty("lastName", out var lastName) ? $"{firstName} {lastName}" : null); } return(null); }); ClaimActions.MapCustomJson(ClaimTypes.Email, element => { if (element.TryGetProperty("emails", out var emailElements) && emailElements.ValueKind == JsonValueKind.Array) { var emailElement = emailElements.EnumerateArray().FirstOrDefault(); if (emailElement.TryGetProperty("email", out var email)) { return(email.GetString()); } } return(null); }); }
public AdobeIOAuthenticationOptions() { ClaimsIssuer = AdobeIOAuthenticationDefaults.Issuer; CallbackPath = AdobeIOAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = AdobeIOAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = AdobeIOAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = AdobeIOAuthenticationDefaults.UserInformationEndpoint; Scope.Add("openid"); Scope.Add("AdobeID"); ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub"); ClaimActions.MapJsonKey(ClaimTypes.Name, "name"); ClaimActions.MapJsonKey(ClaimTypes.Email, "email"); ClaimActions.MapJsonKey(ClaimTypes.GivenName, "given_name"); ClaimActions.MapJsonKey(ClaimTypes.Surname, "family_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Country, "address", "country"); ClaimActions.MapJsonKey(Claims.AccountType, "account_type"); ClaimActions.MapJsonKey(Claims.EmailVerified, "email_verified"); }
/// <summary> /// Initializes a new <see cref="NaverOptions"/>. /// </summary> public NaverOptions() { CallbackPath = new PathString("/signin-naver"); AuthorizationEndpoint = NaverDefaults.AuthorizationEndpoint; TokenEndpoint = NaverDefaults.TokenEndpoint; UserInformationEndpoint = NaverDefaults.UserInformationEndpoint; Scope.Add("r_basicprofile"); Scope.Add("r_emailaddress"); Scope.Add("email"); ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "response", "id"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "response", "nickname"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "response", "email"); //ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "id"); //ClaimActions.MapJsonKey(ClaimTypes.Name, "displayName"); //ClaimActions.MapJsonSubKey(ClaimTypes.GivenName, "name", "givenName"); //ClaimActions.MapJsonSubKey(ClaimTypes.Surname, "name", "familyName"); //ClaimActions.MapJsonKey("urn:Naver:profile", "url"); //ClaimActions.MapCustomJson(ClaimTypes.Email, NaverHelper.GetEmail); }
public HarvestAuthenticationOptions() { ClaimsIssuer = HarvestAuthenticationDefaults.Issuer; CallbackPath = new PathString(HarvestAuthenticationDefaults.CallbackPath); AuthorizationEndpoint = HarvestAuthenticationDefaults.AuthorizationEndpoint; TokenEndpoint = HarvestAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = HarvestAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "user", "id"); ClaimActions.MapCustomJson(ClaimTypes.Name, payload => { var user = payload.Value <JObject>("user"); var parts = new[] { user.Value <string>("first_name"), user.Value <string>("last_name") }; return(string.Join(" ", parts.Where(x => !string.IsNullOrEmpty(x)))); }); ClaimActions.MapJsonSubKey(ClaimTypes.GivenName, "user", "first_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Surname, "user", "last_name"); ClaimActions.MapJsonSubKey(ClaimTypes.Email, "user", "email"); }
public StreamlabsAuthenticationOptions() { ClaimsIssuer = StreamlabsAuthenticationDefaults.Issuer; CallbackPath = StreamlabsAuthenticationDefaults.CallbackPath; AuthorizationEndpoint = StreamlabsAuthenticationDefaults.AuthorizationEndPoint; TokenEndpoint = StreamlabsAuthenticationDefaults.TokenEndpoint; UserInformationEndpoint = StreamlabsAuthenticationDefaults.UserInformationEndpoint; ClaimActions.MapJsonSubKey(ClaimTypes.NameIdentifier, "streamlabs", "id"); ClaimActions.MapJsonSubKey(ClaimTypes.Name, "streamlabs", "username"); ClaimActions.MapJsonSubKey(Claims.DisplayName, "streamlabs", "display_name"); ClaimActions.MapJsonSubKey(Claims.FacebookId, "facebook", "id"); ClaimActions.MapJsonSubKey(Claims.FacebookName, "facebook", "name"); ClaimActions.MapJsonSubKey(Claims.Primary, "streamlabs", "primary"); ClaimActions.MapJsonSubKey(Claims.Thumbnail, "streamlabs", "thumbnail"); ClaimActions.MapJsonSubKey(Claims.TwitchDisplayName, "twitch", "display_name"); ClaimActions.MapJsonSubKey(Claims.TwitchIconUrl, "twitch", "icon_url"); ClaimActions.MapJsonSubKey(Claims.TwitchId, "twitch", "id"); ClaimActions.MapJsonSubKey(Claims.TwitchName, "twitch", "name"); ClaimActions.MapJsonSubKey(Claims.YouTubeId, "youtube", "id"); ClaimActions.MapJsonSubKey(Claims.YouTubeTitle, "youtube", "title"); }