Bekommen Ansprüche von einem WebAPI Controller - JWT Token,

Ich gebaut habe, eine Anwendung, die verwendet JWT Träger-Authentifizierung in ASP.NET Core. Bei der Authentifizierung definiere ich einige eigene Ansprüche, die ich Lesen müssen, in eine andere WebAPI-controller, um die Ausführung mancher Aktionen.

Irgendwelche Ideen, Wie Kann ich das erreichen?

Diese, wie mein code sieht wie folgt aus:(Code wurde vereinfacht)

public async Task<IActionResult> AuthenticateAsync([FromBody] UserModel user)
    {
        ..............

                var tokenHandler = new JwtSecurityTokenHandler();
                var key = Encoding.ASCII.GetBytes(_appSettings.Secret);
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim("userSecurityKey", userDeserialized.SecurityKey.ToString()),
                        new Claim("timeStamp",timeStamp),
                        new Claim("verificationKey",userDeserialized.VerificationKey.ToString())

                    }),
                    Expires = DateTime.UtcNow.AddDays(7),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key),
                        SecurityAlgorithms.HmacSha256Signature)
                };
                var token = tokenHandler.CreateToken(tokenDescriptor);
                var tokenString = tokenHandler.WriteToken(token);

     .................                           

    }

Einem anderen controller: (Muss Es Lesen "verificationKey" fordern.)

    [HttpGet]
    [Route("getcandidate")]
    public async Task<IActionResult> GetCandidateAsync()
    {

        try
        {
             ............    


            var verificationKey = //TODO: GET VerificationKey FROM THE TOKEN

            var verificationRecord = await service.GetVerificationRecordAsync(verificationKey);

            .................

        }
        catch (Exception)
        {
            return NotFound();
        }
    }

InformationsquelleAutor D.B | 2017-07-25

Schreibe einen Kommentar