stytch 3.0.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: []