private bool ValidateApiToken(string token, out HubtelProfile hubtelProfile) { var authKey = _configuration["HubtelAuth:Key"]; var headerStr = RequestHeaderHelper.Base64Decode(token); string[] stringSeparators = new string[] { ":" }; var headerStrArr = headerStr.Split(stringSeparators, 2, StringSplitOptions.None); var basicKeys = $"{headerStrArr[0]}"; if ($"{authKey}".Equals(basicKeys)) { hubtelProfile = JsonConvert.DeserializeObject <HubtelProfile>(headerStrArr[1]); return(true); } hubtelProfile = null; return(false); }
private async Task <AuthenticateResult> HubtelBearerAuthenticateAsync(string scheme, HubtelProfile hubtelProfile) { // Create authenticated user var claims = new List <Claim> { new Claim(ClaimTypes.Name, "Anonymous"), new Claim(ClaimTypes.Sid, hubtelProfile.AccountId), new Claim(ClaimTypes.MobilePhone, hubtelProfile?.MobileNumber ?? string.Empty) }; var identities = new List <ClaimsIdentity> { new ClaimsIdentity(claims, scheme) }; var ticket = new AuthenticationTicket(new ClaimsPrincipal(identities), scheme); return(await Task.FromResult(AuthenticateResult.Success(ticket))); }