Skip to content

Commit

Permalink
Refactoring: Passing client_id and client_secret via parameter to log…
Browse files Browse the repository at this point in the history
… in (client_credentials)
  • Loading branch information
albertoleal committed Apr 26, 2013
1 parent 0f8a5ce commit a3fbca1
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 23 deletions.
2 changes: 1 addition & 1 deletion lib/usergrid/core/application.rb
Expand Up @@ -48,7 +48,7 @@ def facebook_login(access_token)
response
end

def access_token!
def login_credentials(client_id, client_secret)
response = self['token'].post grant_type: 'client_credentials', client_id: client_id, client_secret: client_secret
self.auth_token = response.data['access_token']
end
Expand Down
2 changes: 1 addition & 1 deletion lib/usergrid/core/organization.rb
Expand Up @@ -49,7 +49,7 @@ def generate_credentials
self['credentials'].post nil
end

def access_token!
def login_credentials(client_id, client_secret)
resource = api_resource 'management'
response = resource['token'].post grant_type: 'client_credentials', client_id: client_id, client_secret: client_secret
self.auth_token = response.data['access_token']
Expand Down
1 change: 0 additions & 1 deletion lib/usergrid/core/resource.rb
Expand Up @@ -8,7 +8,6 @@ class Resource < RestClient::Resource
TYPE_HEADERS = { content_type: :json, accept: :json }

attr_reader :current_user, :api_url, :response
attr_accessor :client_id, :client_secret

def initialize(resource_url=DEFAULT_API_URL, api_url=nil, options={}, response=nil)
options[:headers] = TYPE_HEADERS.merge options[:headers] || {}
Expand Down
21 changes: 10 additions & 11 deletions spec/usergrid/core/application_spec.rb
Expand Up @@ -302,26 +302,25 @@

context "invalid credentials" do
it "should not be able to get access token with invalid credentials" do
@app.client_id = "invalid_client_id"
@app.client_secret = "invalid_client_secret"

expect { @app.access_token! }.to raise_exception RestClient::BadRequest
expect { @app.login_credentials "invalid_client_id", "invalid_client_secret" }.to raise_exception RestClient::BadRequest
end

it "should not be able to get access token with empty credentials" do
expect { @app.access_token! }.to raise_exception RestClient::BadRequest
expect { @app.login_credentials "", "" }.to raise_exception RestClient::BadRequest
end
end

context "valid crendentials" do
it "should be able to get access token with invalid credentials"do
app_credentials = JSON.parse @app.credentials
@app.client_id = app_credentials["credentials"]["client_id"]
@app.client_secret = app_credentials["credentials"]["client_secret"]
app_info = JSON.parse @app.get

management = login_management
app = management.application app_info["organization"], app_info["applicationName"]
app_credentials = JSON.parse app.credentials
app.login_credentials app_credentials["credentials"]["client_id"], app_credentials["credentials"]["client_secret"]

@app.access_token!
expect(@app.auth_token).to_not be_empty
expect(@app.auth_token).to be_instance_of String
expect(app.auth_token).to_not be_empty
expect(app.auth_token).to be_instance_of String
end
end
end
Expand Down
12 changes: 3 additions & 9 deletions spec/usergrid/core/organization_spec.rb
Expand Up @@ -72,25 +72,19 @@
describe "grant_type: client_credentials" do
context "invalid credentials" do
it "should not be able to get access token with invalid credentials" do
@organization.client_id = "invalid_client_id"
@organization.client_secret = "invalid_client_secret"

expect { @organization.access_token! }.to raise_exception RestClient::BadRequest
expect { @organization.login_credentials "invalid_client_id", "invalid_client_secret" }.to raise_exception RestClient::BadRequest
end

it "should not be able to get access token with empty credentials" do
expect { @organization.access_token! }.to raise_exception RestClient::BadRequest
expect { @organization.login_credentials "", "" }.to raise_exception RestClient::BadRequest
end
end

context "valid crendentials" do
it "should be able to get access token with invalid credentials" do
org_credentials = JSON.parse @organization.credentials
@organization.login_credentials org_credentials["credentials"]["client_id"], org_credentials["credentials"]["client_secret"]

@organization.client_id = org_credentials["credentials"]["client_id"]
@organization.client_secret = org_credentials["credentials"]["client_secret"]

@organization.access_token!
expect(@organization.auth_token).to_not be_empty
expect(@organization.auth_token).to be_instance_of String
end
Expand Down

0 comments on commit a3fbca1

Please sign in to comment.