lib/rack/oauth2/models/client.rb in rack-oauth2-server-2.0.0.beta2 vs lib/rack/oauth2/models/client.rb in rack-oauth2-server-2.0.0.beta3
- old
+ new
@@ -28,12 +28,12 @@
scopes = Server::Utils.normalize_scopes(args[:scopes])
fields = { :display_name=>args[:display_name], :link=>args[:link],
:image_url=>args[:image_url], :redirect_uri=>redirect_uri, :scopes=>scopes,
:created_at=>Time.now.utc.to_i, :revoked=>nil }
if args[:id] && args[:secret]
- fields[:_id], fields[:secret] = args[:id], args[:secret]
- collection.insert(fields)
+ fields[:_id], fields[:secret] = BSON::ObjectId(args[:id].to_s), args[:secret]
+ collection.insert(fields, :safe=>true)
else
fields[:secret] = Server.secure_random
fields[:_id] = collection.insert(fields)
end
Server.new_instance self, fields
@@ -101,9 +101,10 @@
def update(args)
fields = [:display_name, :link, :image_url].inject({}) { |h,k| v = args[k]; h[k] = v if v; h }
fields[:redirect_uri] = Server::Utils.parse_redirect_uri(args[:redirect_uri]).to_s if args[:redirect_uri]
fields[:scopes] = Server::Utils.normalize_scopes(args[:scopes])
self.class.collection.update({ :_id=>id }, { :$set=>fields })
+ self.class.find(id)
end
Server.create_indexes do
# For quickly returning clients sorted by display name, or finding
# client from a URL.