discourse-omniauth-jwt-xsolla 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/omniauth/jwt/version.rb +1 -1
- data/lib/omniauth/strategies/jwt.rb +15 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5c60ebd81184d7da0918713da0fc176392b96f0ff12f40fdebfc910863906d8
|
4
|
+
data.tar.gz: 8970fbc00f39f72e318b1316523249432769e82f943cd058cb46fffedf73e235
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1714dda51aa312f92d719eec40dbbaf970eca154c0992673dba92548079152b96c4dd34e000700660bb6c35c158b60806737e07461e24a89684372bb73b3843b
|
7
|
+
data.tar.gz: 1dde44a867b37331a04430c1e5e1ac09cd7aaa31271d36bf72b3f34eb8a7e6f51d9bc8fe03481d62e5e4243475b33a9acd32be3cdfba6e660b13ef556c490efb
|
data/lib/omniauth/jwt/version.rb
CHANGED
@@ -2,6 +2,7 @@ require 'omniauth'
|
|
2
2
|
require 'jwt'
|
3
3
|
require 'net/http'
|
4
4
|
require 'json'
|
5
|
+
require 'uri'
|
5
6
|
|
6
7
|
module OmniAuth
|
7
8
|
module Strategies
|
@@ -27,11 +28,20 @@ module OmniAuth
|
|
27
28
|
def decoded
|
28
29
|
@decoded ||= ::JWT.decode(request.params['token'], options.secret, false, {algorithm: options.algorithm})[0]
|
29
30
|
|
30
|
-
uri = URI('https://login.xsolla.com/api/token/validate')
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
uri = URI.parse('https://login.xsolla.com/api/token/validate')
|
32
|
+
|
33
|
+
header = {'Content-Type': 'application/json'}
|
34
|
+
body = {token: request.params['token']}
|
35
|
+
|
36
|
+
# Create the HTTP objects
|
37
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
38
|
+
request = Net::HTTP::Post.new(uri.request_uri, header)
|
39
|
+
request.body = body.to_json
|
40
|
+
|
41
|
+
# Send the request
|
42
|
+
res = http.request(request)
|
43
|
+
|
44
|
+
|
35
45
|
raise ClaimInvalid.new("Token is not valid.") if res.code != '204'
|
36
46
|
|
37
47
|
(options.required_claims || []).each do |field|
|