cfoundry 0.3.30 → 0.3.31
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.
- data/lib/cfoundry/baseclient.rb +14 -0
- data/lib/cfoundry/uaaclient.rb +10 -0
- data/lib/cfoundry/v1/user.rb +13 -0
- data/lib/cfoundry/v2/client.rb +2 -18
- data/lib/cfoundry/v2/user.rb +4 -0
- data/lib/cfoundry/version.rb +1 -1
- metadata +4 -4
data/lib/cfoundry/baseclient.rb
CHANGED
@@ -31,6 +31,20 @@ module CFoundry
|
|
31
31
|
request(method, path, options)
|
32
32
|
end
|
33
33
|
|
34
|
+
# grab the metadata from a token that looks like:
|
35
|
+
#
|
36
|
+
# bearer (base64 ...)
|
37
|
+
def token_data
|
38
|
+
tok = Base64.decode64(@token.sub(/^bearer\s+/, ""))
|
39
|
+
tok.sub!(/\{.+?\}/, "") # clear algo
|
40
|
+
MultiJson.load(tok[/\{.+?\}/], :symbolize_keys => true)
|
41
|
+
|
42
|
+
# normally i don't catch'em all, but can't expect all tokens to be the
|
43
|
+
# proper format, so just silently fail as this is not critical
|
44
|
+
rescue
|
45
|
+
{}
|
46
|
+
end
|
47
|
+
|
34
48
|
private
|
35
49
|
|
36
50
|
def parse_json(x)
|
data/lib/cfoundry/uaaclient.rb
CHANGED
@@ -35,6 +35,16 @@ module CFoundry
|
|
35
35
|
get("Users", nil => :json)
|
36
36
|
end
|
37
37
|
|
38
|
+
def change_password(guid, new, old)
|
39
|
+
put(
|
40
|
+
{ :schemas => ["urn:scim:schemas:core:1.0"],
|
41
|
+
:password => new,
|
42
|
+
:oldPassword => old
|
43
|
+
},
|
44
|
+
"User", guid, "password",
|
45
|
+
:json => nil)
|
46
|
+
end
|
47
|
+
|
38
48
|
private
|
39
49
|
|
40
50
|
def handle_response(response, accept)
|
data/lib/cfoundry/v1/user.rb
CHANGED
@@ -67,6 +67,19 @@ module CFoundry::V1
|
|
67
67
|
manifest[:password] = str
|
68
68
|
end
|
69
69
|
|
70
|
+
def guid
|
71
|
+
@guid ||= @client.base.token_data[:user_id]
|
72
|
+
end
|
73
|
+
|
74
|
+
def change_password!(new, old)
|
75
|
+
if @client.base.uaa
|
76
|
+
@client.base.uaa.change_password(guid, new, old)
|
77
|
+
else
|
78
|
+
self.password = new
|
79
|
+
update!
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
70
83
|
private
|
71
84
|
|
72
85
|
def manifest
|
data/lib/cfoundry/v2/client.rb
CHANGED
@@ -68,9 +68,9 @@ module CFoundry::V2
|
|
68
68
|
|
69
69
|
# The currently authenticated user.
|
70
70
|
def current_user
|
71
|
-
if guid = token_data[:user_id]
|
71
|
+
if guid = @base.token_data[:user_id]
|
72
72
|
user = user(guid)
|
73
|
-
user.emails = [{ :value => token_data[:email] }]
|
73
|
+
user.emails = [{ :value => @base.token_data[:email] }]
|
74
74
|
user
|
75
75
|
end
|
76
76
|
end
|
@@ -194,21 +194,5 @@ module CFoundry::V2
|
|
194
194
|
json)
|
195
195
|
end
|
196
196
|
end
|
197
|
-
|
198
|
-
private
|
199
|
-
|
200
|
-
# grab the metadata from a token that looks like:
|
201
|
-
#
|
202
|
-
# bearer (base64 ...)
|
203
|
-
def token_data
|
204
|
-
tok = Base64.decode64(@base.token.sub(/^bearer\s+/, ""))
|
205
|
-
tok.sub!(/\{.+?\}/, "") # clear algo
|
206
|
-
MultiJson.load(tok[/\{.+?\}/], :symbolize_keys => true)
|
207
|
-
|
208
|
-
# normally i don't catch'em all, but can't expect all tokens to be the
|
209
|
-
# proper format, so just silently fail as this is not critical
|
210
|
-
rescue
|
211
|
-
{}
|
212
|
-
end
|
213
197
|
end
|
214
198
|
end
|
data/lib/cfoundry/v2/user.rb
CHANGED
data/lib/cfoundry/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfoundry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 45
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 31
|
10
|
+
version: 0.3.31
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alex Suraci
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-09-
|
18
|
+
date: 2012-09-10 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rest-client
|