Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

JWT Token Claim Werte abfragen

28.06.2018 (👁6608)

JWT Token Claim abfragen

Wie kann man im Webserver eine den User eines Jwt Tokens abfragen?

Der Java WebToken enthält sogenannte Claims. Diese Claim-Informationen können beim Austausch abgefragt werden.

Der User eines Claims kann bei einer Anfrage in Asp Controller mit Claims/Name ermittelt werden

var user_in_token = HttpContext.User.Claims.Where(c => c.Type == ClaimsIdentity.DefaultNameClaimType).FirstOrDefault();

 

Ergebnis in diesem Fall:

Identity User-Name ist : myUser

Erstellt wurde der jwtToken im TokenController

public string create_UserToken(string sUsername)

{

    //-------------< create_UserToken() >-------------

    Claim[] claims = new Claim[] {

        new Claim(ClaimTypes.Name, sUsername), //*->User.Identity.Name or "Raimund Popp"

        new Claim(JwtRegisteredClaimNames.Email, "raimund.popp@codedocu.de")

    };

 

 

    //--< Create a Token >--

    JwtSecurityToken jwtToken = new JwtSecurityToken(

        issuer: "website_freelancer",    //ASP.NET Core web application

        audience: "webclients_freelancer"//client app

        claims: claims,

        notBefore: DateTime.Now,

        expires: DateTime.Now.AddDays(1),

        signingCredentials: new SigningCredentials(_secretKey, SecurityAlgorithms.HmacSha256)

    );

    //--</ Create a Token >--

 

 

    string stringToken = new JwtSecurityTokenHandler().WriteToken(jwtToken);

 

    return stringToken;

    //-------------</ create_UserToken() >-------------

}

Unter den Claims kann man viele vordefiniert Informationen einbinden

Claim[] claims = new Claim[] {

    new Claim(ClaimTypes.Name, sUsername), //*->User.Identity.Name or "Raimund Popp"

    new Claim(ClaimTypes.UserData, "ID=123"),

    new Claim(JwtRegisteredClaimNames.Email, "raimund.popp@codedocu.de")

 

};

Eine Liste der ClaimTypes findet man unter

https://msdn.microsoft.com/de-de/library/system.security.claims.claimtypes(v=vs.110).aspx

die Wichtigsten ClaimTypes wären aus (Namespace:   System.Security.Claims)

Email

Name

NameIdentifier
Sid

UserData

Asp.Net Core 2 MVC

Asp WebApi Api

JWT Java Web Token