stytch 3.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a361942c6f469a3bd03cb666b2740717d4f163ae5668536d292e4c72670b2a3
4
- data.tar.gz: 865893e5e873829cee7fc43cb9aa9a006fa87487ccf04cc2c41009e657f407e0
3
+ metadata.gz: dc4550a480f46589fd16edc9445850c3b291a1972a5715a00dccab129df2595f
4
+ data.tar.gz: b18030ff8be340da133c636ff137fb5b60c727d09b5132a3e76148144d6aadee
5
5
  SHA512:
6
- metadata.gz: 7ab5a3c953f0c7eea8297685e97e408271f00389b563de2ac8583fec5b5c2a95971b00920a42c87232f584afad6fcfdfab6ef09b541a5d35d5df809771d9e925
7
- data.tar.gz: 274ee8bf41f5cdc48d5d35c5f97e368d4766cb5670c3294afc8f8f5364e9835540d07eb7f02d804414602f8cbca777c6dae42110a4db657fd655289bb649a766
6
+ metadata.gz: bde5b7238e9e3f3e83a341e619ad0fe0b02f5902a7740f42b0fea42a636baaadd559c931b28c9df59d534ee89de0df62e48df44e6627ef4a9a280a16b073dea7
7
+ data.tar.gz: f713601765602a2376a32cb13a63058e337a0648aa9c28f8d0591d5062e7871a812832620c0607524ae34fc56d6833df75420397ffd66a6b99241cee8b9b9bc5
@@ -88,6 +88,12 @@ module Stytch
88
88
  session_duration_minutes: session_duration_minutes,
89
89
  )
90
90
  end
91
+ rescue StandardError
92
+ # JWT could not be verified locally. Check with the Stytch API.
93
+ return authenticate(
94
+ session_jwt: session_jwt,
95
+ session_duration_minutes: session_duration_minutes,
96
+ )
91
97
  end
92
98
 
93
99
  # Parse a JWT and verify the signature locally (without calling /authenticate in the API)
@@ -97,7 +103,7 @@ module Stytch
97
103
  def authenticate_jwt_local(session_jwt)
98
104
  issuer = "stytch.com/" + @project_id
99
105
  begin
100
- decoded_token = JWT.decode session_jwt, nil, true,
106
+ decoded_token = JWT.decode session_jwt, nil, true,
101
107
  { jwks: @jwks_loader, iss: issuer, verify_iss: true, aud: @project_id, verify_aud: true, algorithms: ["RS256"]}
102
108
  return decoded_token[0]
103
109
  rescue JWT::InvalidIssuerError
@@ -114,7 +120,7 @@ module Stytch
114
120
  def marshal_jwt_into_session(jwt)
115
121
  stytch_claim = "https://stytch.com/session"
116
122
  return {
117
- "session_id" => jwt["jti"],
123
+ "session_id" => jwt[stytch_claim]["id"],
118
124
  "user_id" => jwt["sub"],
119
125
  "started_at" => jwt[stytch_claim]["started_at"],
120
126
  "last_accessed_at" => jwt[stytch_claim]["last_accessed_at"],
data/lib/stytch/users.rb CHANGED
@@ -12,6 +12,30 @@ module Stytch
12
12
  @connection = connection
13
13
  end
14
14
 
15
+ def search(query, limit: 100, cursor: nil)
16
+ request = {
17
+ query: query,
18
+ limit: limit
19
+ }
20
+ request[:cursor] = cursor if cursor
21
+ post_request("#{PATH}/search", request)
22
+ end
23
+
24
+ def search_all(query, limit: 100)
25
+ Enumerator.new do |enum|
26
+ cursor = nil
27
+ loop do
28
+ resp = search(query, limit: limit, cursor: cursor)
29
+ resp['results'].each do |user|
30
+ enum << user
31
+ end
32
+
33
+ cursor = resp['results_metadata']['next_cursor']
34
+ break if cursor.nil?
35
+ end
36
+ end
37
+ end
38
+
15
39
  def get(user_id:)
16
40
  get_request("#{PATH}/#{user_id}")
17
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stytch
4
- VERSION = '3.0.0'
4
+ VERSION = '3.2.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stytch
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - stytch
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-22 00:00:00.000000000 Z
11
+ date: 2022-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -78,7 +78,7 @@ dependencies:
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
80
  version: 1.13.0
81
- description:
81
+ description:
82
82
  email:
83
83
  - support@stytch.com
84
84
  executables: []
@@ -118,7 +118,7 @@ licenses:
118
118
  metadata:
119
119
  homepage_uri: https://stytch.com
120
120
  source_code_uri: https://github.com/stytchauth/stytch-ruby
121
- post_install_message:
121
+ post_install_message:
122
122
  rdoc_options: []
123
123
  require_paths:
124
124
  - lib
@@ -133,8 +133,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  requirements: []
136
- rubygems_version: 3.0.3.1
137
- signing_key:
136
+ rubygems_version: 3.1.6
137
+ signing_key:
138
138
  specification_version: 4
139
139
  summary: Stytch Ruby Gem
140
140
  test_files: []