async Task <string> ITokenSigner.SignAsync(UnsignedToken token)
        {
            JwtSecurityToken jwt;

            using (D2LSecurityToken securityToken = await m_privateKeyProvider
                                                    .GetSigningCredentialsAsync()
                                                    .SafeAsync()
                   ) {
                jwt = new JwtSecurityToken(
                    issuer: token.Issuer,
                    audience: token.Audience,
                    claims: Enumerable.Empty <Claim>(),
                    notBefore: token.NotBefore,
                    expires: token.ExpiresAt,
                    signingCredentials: securityToken.GetSigningCredentials()
                    );

                var claims = token.Claims;
                foreach (var claim in claims)
                {
                    if (jwt.Payload.ContainsKey(claim.Key))
                    {
                        throw new ValidationException($"'{claim.Key}' is already part of the payload");
                    }
                    jwt.Payload.Add(claim.Key, claim.Value);
                }

                var jwtHandler = new JwtSecurityTokenHandler();

                string signedRawToken = jwtHandler.WriteToken(jwt);

                return(signedRawToken);
            }
        }
		private static string Sign( D2LSecurityToken securityToken ) {
			JwtSecurityToken jwt = new JwtSecurityToken(
					issuer: TEST_ISSUER,
					signingCredentials: securityToken.GetSigningCredentials()
					);

			JwtSecurityTokenHandler jwtHandler = new JwtSecurityTokenHandler();
			string signedToken = jwtHandler.WriteToken( jwt );

			return signedToken;
		}
        private static string Sign(D2LSecurityToken securityToken)
        {
            JwtSecurityToken jwt = new JwtSecurityToken(
                issuer: TEST_ISSUER,
                signingCredentials: securityToken.GetSigningCredentials()
                );

            JwtSecurityTokenHandler jwtHandler = new JwtSecurityTokenHandler();
            string signedToken = jwtHandler.WriteToken(jwt);

            return(signedToken);
        }
Example #4
0
        async Task <string> ITokenSigner.SignAsync(UnsignedToken token)
        {
            JwtSecurityToken jwt;

            using (D2LSecurityToken securityToken = await m_privateKeyProvider
                                                    .GetSigningCredentialsAsync()
                                                    .SafeAsync()
                   ) {
                jwt = new JwtSecurityToken(
                    issuer: token.Issuer,
                    audience: token.Audience,
                    claims: token.Claims,
                    notBefore: token.NotBefore,
                    expires: token.ExpiresAt,
                    signingCredentials: securityToken.GetSigningCredentials()
                    );

                var jwtHandler = new JwtSecurityTokenHandler();

                string signedRawToken = jwtHandler.WriteToken(jwt);

                return(signedRawToken);
            }
        }