public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); AccessTokenCommand accessTokenCommand = new AccessTokenCommand(context.UserName, context.Password); string skip = "0"; string take = "10"; var result = _characterAppService.ValidAuthentication(accessTokenCommand, skip, take); if (result == false) { context.SetError("invalid_grant", "Chaves de usuários inválidas"); return; } var identity = new ClaimsIdentity(context.Options.AuthenticationType); GenericPrincipal principal = new GenericPrincipal(identity, new string[] { }); Thread.CurrentPrincipal = principal; context.Validated(identity); }
public Task <HttpResponseMessage> GetComicsByCharacterId([FromBody] dynamic body) { var accessTokenCommand = new AccessTokenCommand( privateKey: (string)body.privateKey, publicKey: (string)body.publicKey ); string characterId = (string)body.characterId; var comicsByCharacterId = _characterAppService.GetComicsByCharacterId(accessTokenCommand, characterId); return(CreateResponse(HttpStatusCode.Created, comicsByCharacterId)); }
public Task <HttpResponseMessage> GetCharacter([FromBody] dynamic body) { var accessTokenCommand = new AccessTokenCommand( privateKey: (string)body.privateKey, publicKey: (string)body.publicKey ); string skip = (string)body.skip; string take = (string)body.take; var character = _characterAppService.GetCharacter(accessTokenCommand, skip, take); return(CreateResponse(HttpStatusCode.Created, character)); }
public Task <HttpResponseMessage> ValidAuthentication([FromBody] dynamic body) { var accessTokenCommand = new AccessTokenCommand( privateKey: (string)body.privateKey, publicKey: (string)body.publicKey ); string skip = (string)body.skip; string take = (string)body.take; var isValidAuthentication = _characterAppService.ValidAuthentication(accessTokenCommand, skip, take); return(CreateResponse(HttpStatusCode.Created, isValidAuthentication)); }
public ComicsRootObject GetComicsByCharacterId(AccessTokenCommand command, string characterId) { var accessToken = new AccessToken(command.PrivateKey, command.PublicKey); var timeStamp = accessToken.GetTimeStamp(); var hash = accessToken.CreateHash(timeStamp); string MARVEL_API_BASE_URL = Urls.ResourceManager.GetString("MARVEL_API_BASE_URL"); string MARVEL_API_COMICS_URL_PART1 = Urls.ResourceManager.GetString("MARVEL_API_COMICS_URL_PART1"); string MARVEL_API_COMICS_URL_PART2 = Urls.ResourceManager.GetString("MARVEL_API_COMICS_URL_PART2"); var url = String.Format("{0}{1}{2}{3}ts={4}&apikey={5}&hash={6}", MARVEL_API_BASE_URL, MARVEL_API_COMICS_URL_PART1, characterId, MARVEL_API_COMICS_URL_PART2, timeStamp, accessToken.PublicKey, hash).ToString(); var comicsExternalService = _characterExternalService.GetComicsByCharacterId(url).Result; return(comicsExternalService); }
public CharacterRootObject GetCharacter(AccessTokenCommand command, string skip, string take) { var accessToken = new AccessToken(command.PrivateKey, command.PublicKey); var timeStamp = accessToken.GetTimeStamp(); var hash = accessToken.CreateHash(timeStamp); string MARVEL_API_BASE_URL = Urls.ResourceManager.GetString("MARVEL_API_BASE_URL"); string MARVEL_API_CHARACTER_URL = Urls.ResourceManager.GetString("MARVEL_API_CHARACTER_URL"); string limit = take; string offset = skip; var url = String.Format("{0}{1}limit={2}&offset={3}&ts={4}&apikey={5}&hash={6}", MARVEL_API_BASE_URL, MARVEL_API_CHARACTER_URL, limit, offset, timeStamp, accessToken.PublicKey, hash).ToString(); var characterExternalService = _characterExternalService.GetCharacter(url).Result; return(characterExternalService); }