Exemplo n.º 1
0
 /// <summary>
 /// Generates a access token for apps in altinn apps or platform components needing to access other platform components.
 /// </summary>
 /// <param name="issuer">Can be a app or platform component</param>
 /// <param name="app">The application creating token (app or component)</param>
 /// <returns></returns>
 public string GenerateAccessToken(string issuer, string app)
 {
     try
     {
         SigningCredentials credentials = _signingKeysResolver.GetSigningCredentials();
         return(GenerateAccessToken(issuer, app, credentials));
     }
     catch (Exception ex)
     {
         _logger.LogWarning(ex, "Not able to generate access token");
         return(null);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Generates a access token for apps in altinn apps or platform components needing to access other platform components.
        /// </summary>
        /// <param name="issuer">Can be a app or platform component</param>
        /// <param name="app">The application creating token (app or component)</param>
        /// <returns></returns>
        public string GenerateAccessToken(string issuer, string app)
        {
            if (_accessTokenSettings.DisableAccessTokenGeneration)
            {
                return(null);
            }

            try
            {
                List <Claim> claims = new List <Claim>();
                if (!string.IsNullOrEmpty(app))
                {
                    claims.Add(new Claim(AccessTokenClaimTypes.App, app, ClaimValueTypes.String, issuer));
                }

                ClaimsIdentity identity = new ClaimsIdentity("AccessToken");
                identity.AddClaims(claims);
                ClaimsPrincipal principal = new ClaimsPrincipal(identity);

                JwtSecurityTokenHandler tokenHandler    = new JwtSecurityTokenHandler();
                SecurityTokenDescriptor tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject            = new ClaimsIdentity(principal.Identity),
                    Expires            = DateTime.UtcNow.AddSeconds(_accessTokenSettings.TokenLifetimeInSeconds),
                    SigningCredentials = _signingKeysResolver.GetSigningCredentials(),
                    Audience           = "platform.altinn.no",
                    Issuer             = issuer
                };

                SecurityToken token       = tokenHandler.CreateToken(tokenDescriptor);
                string        tokenstring = tokenHandler.WriteToken(token);

                return(tokenstring);
            }
            catch (Exception ex)
            {
                _logger.LogWarning(ex, "Not able to generate access token");
            }

            return(null);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Generates a access token for apps in altinn apps or platform components needing to access other platform components.
 /// </summary>
 /// <param name="issuer">Can be a app or platform component</param>
 /// <param name="app">The application creating token (app or component)</param>
 /// <returns></returns>
 public string GenerateAccessToken(string issuer, string app)
 {
     return(GenerateAccessToken(issuer, app, _signingKeysResolver.GetSigningCredentials()));
 }