예제 #1
0
        private async Task <string> TakeUserIdByAccessToken()
        {
            var access_token = await HttpContext.GetTokenAsync("access_token");

            string userId = "";

            if (string.IsNullOrEmpty(access_token))
            {
                userId = "Unauthorized";
            }

            // ------- Extract userId (sub) from access token
            string accessTokenString = new JwtSecurityTokenHandler().ReadJwtToken(access_token).ToString();
            string toBeSearched      = "\"sub\":\"";

            userId = accessTokenString.Substring(accessTokenString.IndexOf(toBeSearched) + toBeSearched.Length);
            userId = userId.Substring(0, userId.IndexOf("\""));

            return(userId);
        }