Skip to content

Commit 0a4cb66

Browse files
authored
feat: Add props for PKCE in OAuth and EML flows (#54)
* feat: Add types for PKCE in OAuth and EML flows * minor version bump
1 parent b15513c commit 0a4cb66

3 files changed

Lines changed: 13 additions & 5 deletions

File tree

lib/stytch/magic_links.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ def authenticate(
3737
options: {},
3838
session_token: nil,
3939
session_jwt: nil,
40-
session_duration_minutes: nil
40+
session_duration_minutes: nil,
41+
code_verifier: nil
4142
)
4243
request = {
4344
token: token
@@ -48,6 +49,7 @@ def authenticate(
4849
request[:session_token] = session_token unless session_token.nil?
4950
request[:session_jwt] = session_jwt unless session_jwt.nil?
5051
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
52+
request[:code_verifier] = code_verifier unless code_verifier.nil?
5153

5254
post_request("#{PATH}/authenticate", request)
5355
end
@@ -67,7 +69,8 @@ def send(
6769
signup_magic_link_url: nil,
6870
login_expiration_minutes: nil,
6971
signup_expiration_minutes: nil,
70-
attributes: {}
72+
attributes: {},
73+
code_challenge: nil
7174
)
7275
request = {
7376
email: email
@@ -78,6 +81,7 @@ def send(
7881
request[:login_expiration_minutes] = login_expiration_minutes unless login_expiration_minutes.nil?
7982
request[:signup_expiration_minutes] = signup_expiration_minutes unless signup_expiration_minutes.nil?
8083
request[:attributes] = attributes if attributes != {}
84+
request[:code_challenge] = code_challenge unless code_challenge.nil?
8185

8286
post_request("#{PATH}/send", request)
8387
end
@@ -89,7 +93,8 @@ def login_or_create(
8993
login_expiration_minutes: nil,
9094
signup_expiration_minutes: nil,
9195
attributes: {},
92-
create_user_as_pending: false
96+
create_user_as_pending: false,
97+
code_challenge: nil
9398
)
9499
request = {
95100
email: email,
@@ -101,6 +106,7 @@ def login_or_create(
101106
request[:login_expiration_minutes] = login_expiration_minutes unless login_expiration_minutes.nil?
102107
request[:signup_expiration_minutes] = signup_expiration_minutes unless signup_expiration_minutes.nil?
103108
request[:attributes] = attributes if attributes != {}
109+
request[:code_challenge] = code_challenge unless code_challenge.nil?
104110

105111
post_request("#{PATH}/login_or_create", request)
106112
end

lib/stytch/oauth.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,16 @@ def authenticate(
1616
token:,
1717
session_token: nil,
1818
session_jwt: nil,
19-
session_duration_minutes: nil
19+
session_duration_minutes: nil,
20+
code_verifier: nil
2021
)
2122
request = {
2223
token: token
2324
}
2425
request[:session_token] = session_token unless session_token.nil?
2526
request[:session_jwt] = session_jwt unless session_jwt.nil?
2627
request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
28+
request[:code_verifier] = code_verifier unless code_verifier.nil?
2729

2830
post_request("#{PATH}/authenticate", request)
2931
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.2.1'
4+
VERSION = '3.3.0'
55
end

0 commit comments

Comments
 (0)