Skip to content

Commit e74a2de

Browse files
committed
Demonstrate client_secret_jwt client auth
1 parent f95eb2f commit e74a2de

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

identity-server/clients/src/ConsolePrivateKeyJwtClient/Program.cs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,27 +57,40 @@
5757
}
5858
""";
5959

60+
var hmacKey =
61+
"""
62+
{
63+
"kty":"oct",
64+
"kid":"10909c7f-d6e0-49eb-9af9-fb06076df8e1",
65+
"k":"JXhpjmgEVdhO0OzwyUQ2hCFuuSU9mABtclOcqT1kqaQ",
66+
"alg":"HS256"
67+
}
68+
""";
69+
6070
// X.509 cert
6171
var certificate = X509CertificateLoader.LoadPkcs12FromFile(path: "client.p12", password: "changeit");
6272
var x509Credential = new X509SigningCredentials(certificate);
6373

6474
var response = await RequestTokenAsync(x509Credential);
6575
response.Show();
66-
6776
await CallServiceAsync(response.AccessToken);
6877

6978
// RSA JsonWebkey
7079
var jwk = new JsonWebKey(rsaKey);
7180
response = await RequestTokenAsync(new SigningCredentials(jwk, "RS256"));
7281
response.Show();
82+
await CallServiceAsync(response.AccessToken);
7383

84+
// EC JsonWebKey
85+
jwk = new JsonWebKey(hmacKey);
86+
response = await RequestTokenAsync(new SigningCredentials(jwk, "HS256"));
87+
response.Show();
7488
await CallServiceAsync(response.AccessToken);
7589

7690
// EC JsonWebKey
7791
jwk = new JsonWebKey(ecKey);
7892
response = await RequestTokenAsync(new SigningCredentials(jwk, "ES256"));
7993
response.Show();
80-
8194
await CallServiceAsync(response.AccessToken);
8295

8396
// Graceful shutdown

identity-server/hosts/Shared/Configuration/ClientsConsole.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,9 @@ public static class ClientsConsole
120120
Value =
121121
"""
122122
{
123+
"kty":"RSA",
123124
"e":"AQAB",
124125
"kid":"ZzAjSnraU3bkWGnnAqLapYGpTyNfLbjbzgAPbbW2GEA",
125-
"kty":"RSA",
126126
"n":"wWwQFtSzeRjjerpEM5Rmqz_DsNaZ9S1Bw6UbZkDLowuuTCjBWUax0vBMMxdy6XjEEK4Oq9lKMvx9JzjmeJf1knoqSNrox3Ka0rnxXpNAz6sATvme8p9mTXyp0cX4lF4U2J54xa2_S9NF5QWvpXvBeC4GAJx7QaSw4zrUkrc6XyaAiFnLhQEwKJCwUw4NOqIuYvYp_IXhw-5Ti_icDlZS-282PcccnBeOcX7vc21pozibIdmZJKqXNsL1Ibx5Nkx1F1jLnekJAmdaACDjYRLL_6n3W4wUp19UvzB1lGtXcJKLLkqB6YDiZNu16OSiSprfmrRXvYmvD8m6Fnl5aetgKw"
127127
}
128128
"""
@@ -141,6 +141,19 @@ public static class ClientsConsole
141141
"kid":"1"
142142
}
143143
"""
144+
},
145+
new Secret
146+
{
147+
Type = IdentityServerConstants.SecretTypes.JsonWebKey,
148+
Value =
149+
"""
150+
{
151+
"kty":"oct",
152+
"kid":"10909c7f-d6e0-49eb-9af9-fb06076df8e1",
153+
"k":"JXhpjmgEVdhO0OzwyUQ2hCFuuSU9mABtclOcqT1kqaQ",
154+
"alg":"HS256"
155+
}
156+
"""
144157
}
145158
},
146159
AllowedGrantTypes = GrantTypes.ClientCredentials,

0 commit comments

Comments
 (0)