public TokenData Get(IpData data) { JObject claims = JObject.Parse(data.Token); var provider = (string)claims[CommonClaims.AcsIdentityProvider]; var identifier = (string)claims[CommonClaims.NameIdentifier]; var name = (string)claims[CommonClaims.Name]; var email = (string)claims[CommonClaims.Email]; return(new TokenData { Email = email, Name = name, IdentityProvider = IdentityTypeParser.ParseProviderType(provider), UserIdentifier = identifier, Token = GetToken(claims), TokenSecret = GetTokenSecret(claims) }); }
public TokenData Get(IpData data) { // Validate security token var validator = new SimpleWebTokenValidator { SharedKeyBase64 = "ZY+lm6+MQeWVSeMdV+apXAaaIGNTZT7ztfBskldOMn0=" }; Dictionary <string, string> claims; try { claims = validator.ValidateToken(data.Token).Claims; } catch (HttpException e) { throw new BadRequestException(e); } catch (InvalidSecurityTokenException e) { throw new BadRequestException(e); } // Get values string identityProvider = claims.Single(p => p.Key == CommonClaims.AcsIdentityProvider).Value; return(new TokenData { UserIdentifier = claims.Single(p => p.Key == CommonClaims.NameIdentifier).Value, Name = claims.SingleOrDefault(p => p.Key == CommonClaims.Name).Value, Email = claims.SingleOrDefault(p => p.Key == CommonClaims.Email).Value, IdentityProvider = IdentityTypeParser.ParseProviderType(identityProvider), Token = GetToken(claims), TokenSecret = GetTokenSecret(claims) }); }