示例#1
0
        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);
        }
示例#2
0
        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)));
        }