Skip to content

Commit 7c7b8a1

Browse files
Merge pull request #56 from stytchauth/nikhil/custom-claims
Add support for custom claims
2 parents a9c7cae + b0f352e commit 7c7b8a1

8 files changed

Lines changed: 28 additions & 8 deletions

File tree

lib/stytch/crypto_wallets.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ def authenticate(
3333
signature:,
3434
session_token: nil,
3535
session_jwt: nil,
36-
session_duration_minutes: nil
36+
session_duration_minutes: nil,
37+
session_custom_claims: nil
3738
)
3839
request = {
3940
crypto_wallet_address: crypto_wallet_address,
@@ -44,6 +45,7 @@ def authenticate(
4445
request[:session_token] = session_token unless session_token.nil?
4546
request[:session_jwt] = session_jwt unless session_jwt.nil?
4647
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
48+
request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
4749

4850
post_request("#{PATH}/authenticate", request)
4951
end

lib/stytch/magic_links.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ def authenticate(
3838
session_token: nil,
3939
session_jwt: nil,
4040
session_duration_minutes: nil,
41+
session_custom_claims: nil,
4142
code_verifier: nil
4243
)
4344
request = {
@@ -49,6 +50,7 @@ def authenticate(
4950
request[:session_token] = session_token unless session_token.nil?
5051
request[:session_jwt] = session_jwt unless session_jwt.nil?
5152
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
53+
request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
5254
request[:code_verifier] = code_verifier unless code_verifier.nil?
5355

5456
post_request("#{PATH}/authenticate", request)

lib/stytch/oauth.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def authenticate(
1717
session_token: nil,
1818
session_jwt: nil,
1919
session_duration_minutes: nil,
20+
session_custom_claims: nil,
2021
code_verifier: nil
2122
)
2223
request = {
@@ -25,6 +26,7 @@ def authenticate(
2526
request[:session_token] = session_token unless session_token.nil?
2627
request[:session_jwt] = session_jwt unless session_jwt.nil?
2728
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
29+
request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
2830
request[:code_verifier] = code_verifier unless code_verifier.nil?
2931

3032
post_request("#{PATH}/authenticate", request)

lib/stytch/otps.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ def authenticate(
2525
options: {},
2626
session_token: nil,
2727
session_jwt: nil,
28-
session_duration_minutes: nil
28+
session_duration_minutes: nil,
29+
session_custom_claims: nil
2930
)
3031
request = {
3132
method_id: method_id,
@@ -37,6 +38,7 @@ def authenticate(
3738
request[:session_token] = session_token unless session_token.nil?
3839
request[:session_jwt] = session_jwt unless session_jwt.nil?
3940
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
41+
request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
4042

4143
post_request("#{PATH}/authenticate", request)
4244
end

lib/stytch/sessions.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,15 @@ def get(user_id:)
3333
def authenticate(
3434
session_token: nil,
3535
session_jwt: nil,
36-
session_duration_minutes: nil
36+
session_duration_minutes: nil,
37+
session_custom_claims: nil
3738
)
3839
request = {}
3940

4041
request[:session_token] = session_token unless session_token.nil?
4142
request[:session_jwt] = session_jwt unless session_jwt.nil?
4243
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
44+
request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
4345

4446
post_request("#{PATH}/authenticate", request)
4547
end
@@ -68,12 +70,14 @@ def jwks(project_id:)
6870
def authenticate_jwt(
6971
session_jwt,
7072
max_token_age_seconds: nil,
71-
session_duration_minutes: nil
73+
session_duration_minutes: nil,
74+
session_custom_claims: nil
7275
)
7376
if max_token_age_seconds == 0
7477
return authenticate(
7578
session_jwt: session_jwt,
7679
session_duration_minutes: session_duration_minutes,
80+
session_custom_claims: session_custom_claims,
7781
)
7882
end
7983

@@ -86,13 +90,15 @@ def authenticate_jwt(
8690
return authenticate(
8791
session_jwt: session_jwt,
8892
session_duration_minutes: session_duration_minutes,
93+
session_custom_claims: session_custom_claims,
8994
)
9095
end
9196
rescue StandardError
9297
# JWT could not be verified locally. Check with the Stytch API.
9398
return authenticate(
9499
session_jwt: session_jwt,
95100
session_duration_minutes: session_duration_minutes,
101+
session_custom_claims: session_custom_claims,
96102
)
97103
end
98104

lib/stytch/totps.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ def authenticate(
3030
totp_code:,
3131
session_token: nil,
3232
session_jwt: nil,
33-
session_duration_minutes: nil
33+
session_duration_minutes: nil,
34+
session_custom_claims: nil
3435
)
3536
request = {
3637
user_id: user_id,
@@ -40,6 +41,7 @@ def authenticate(
4041
request[:session_token] = session_token unless session_token.nil?
4142
request[:session_jwt] = session_jwt unless session_jwt.nil?
4243
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
44+
request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
4345

4446
post_request("#{PATH}/authenticate", request)
4547
end
@@ -59,7 +61,8 @@ def recover(
5961
recovery_code:,
6062
session_token: nil,
6163
session_jwt: nil,
62-
session_duration_minutes: nil
64+
session_duration_minutes: nil,
65+
session_custom_claims: nil
6366
)
6467
request = {
6568
user_id: user_id,
@@ -69,6 +72,7 @@ def recover(
6972
request[:session_token] = session_token unless session_token.nil?
7073
request[:session_jwt] = session_jwt unless session_jwt.nil?
7174
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
75+
request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
7276

7377
post_request("#{PATH}/recover", request)
7478
end

lib/stytch/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module Stytch
4-
VERSION = '3.4.0'
4+
VERSION = '3.5.0'
55
end

lib/stytch/webauthn.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ def authenticate(
5757
public_key_credential:,
5858
session_token: nil,
5959
session_jwt: nil,
60-
session_duration_minutes: nil
60+
session_duration_minutes: nil,
61+
session_custom_claims: nil
6162
)
6263
request = {
6364
public_key_credential: public_key_credential
@@ -66,6 +67,7 @@ def authenticate(
6667
request[:session_token] = session_token unless session_token.nil?
6768
request[:session_jwt] = session_jwt unless session_jwt.nil?
6869
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
70+
request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
6971

7072
post_request("#{PATH}/authenticate", request)
7173
end

0 commit comments

Comments
 (0)