Class: Yammer::OAuth2Client
- Inherits:
-
OAuth2Client::Client
- Object
- OAuth2Client::Client
- Yammer::OAuth2Client
- Defined in:
- lib/yammer/oauth2_client.rb
Constant Summary collapse
- SITE_URL =
'https://www.yammer.com'
- TOKEN_PATH =
'/oauth2/access_token'
- AUTHORIZE_PATH =
'/oauth2/authorize'
Instance Method Summary collapse
-
#access_token_from_authorization_code(code, opts = {}) ⇒ Object
client_id=Configurable#client_id&code=G3Y6jU3a&grant_type=authorization_code& redirect_uri=http%3A%2F%2Flocalhost%2Foauth%2Fcb&client_secret=Configurable#client_secret.
-
#access_token_from_client_credentials(opts = {}) ⇒ Object
Makes a request to Yammer server that will swap client credential for an access token.
-
#access_token_from_resource_owner_credentials(username, password, opts = {}) ⇒ Object
Makes a request to Yammer server that will swap resource owner credentials for an access token.
-
#initialize(client_id, client_secret, opts = {}) {|_self| ... } ⇒ OAuth2Client
constructor
A new instance of OAuth2Client.
-
#webclient_authorization_url(opts = {}) ⇒ Object
Generates the Yammer URL that the user will be redirected to in order to authorize your application.
-
#webserver_authorization_url(opts = {}) ⇒ Object
Generates the Yammer URL that the user will be redirected to in order to authorize your application.
Constructor Details
#initialize(client_id, client_secret, opts = {}) {|_self| ... } ⇒ OAuth2Client
Returns a new instance of OAuth2Client.
24 25 26 27 28 29 30 31 |
# File 'lib/yammer/oauth2_client.rb', line 24 def initialize(client_id, client_secret, opts={}) site_url = opts.delete(:site_url) || SITE_URL opts[:token_path] ||= TOKEN_PATH opts[:authorize_path] ||= AUTHORIZE_PATH super(site_url, client_id, client_secret, opts) yield self if block_given? self end |
Instance Method Details
#access_token_from_authorization_code(code, opts = {}) ⇒ Object
client_id=Configurable#client_id&code=G3Y6jU3a&grant_type=authorization_code& redirect_uri=http%3A%2F%2Flocalhost%2Foauth%2Fcb&client_secret=Configurable#client_secret
88 89 90 91 |
# File 'lib/yammer/oauth2_client.rb', line 88 def (code, opts={}) opts[:authenticate] ||= :body .get_token(code, opts) end |
#access_token_from_client_credentials(opts = {}) ⇒ Object
Makes a request to Yammer server that will swap client credential for an access token
client = Yammer::OAuth2Client.new('ETSIGVSxmgZitijWZr0G6w', '4bJZY38TCBB9q8IpkeualA2lZsPhOSclkkSKw3RXuE') client.access_token_from_client_credentials({ :client_id => "ZitijWZr0", :client_secret => "F8TCBB9q8IpkeualA2lZsPhOSc" })
POST /oauth2/access_token HTTP/1.1 Host: www.yammer.com Content-Type: application/x-www-form-urlencoded
client_id=Configurable#client_id&client_secret=Configurable#client_secret
108 109 110 111 |
# File 'lib/yammer/oauth2_client.rb', line 108 def access_token_from_client_credentials(opts={}) opts[:authenticate] ||= :body client_credentials.get_token(opts) end |
#access_token_from_resource_owner_credentials(username, password, opts = {}) ⇒ Object
Makes a request to Yammer server that will swap resource owner credentials for an access token
client = Yammer::OAuth2Client.new('ETSIGVSxmgZitijWZr0G6w', '4bJZY38TCBB9q8IpkeualA2lZsPhOSclkkSKw3RXuE') client.access_token_from_client_credentials({ :client_id => "ZitijWZr0", :client_secret => "F8TCBB9q8IpkeualA2lZsPhOSc", :email => "[email protected]", :password => "abc123" })
POST /oauth2/access_token HTTP/1.1 Host: www.yammer.com Content-Type: application/x-www-form-urlencoded
client_id=Configurable#client_id&client_secret=Configurable#client_secret&username=username&password=passwort
130 131 132 133 |
# File 'lib/yammer/oauth2_client.rb', line 130 def access_token_from_resource_owner_credentials(username, password, opts={}) opts[:authenticate] ||= :body self.password.get_token(username, password, opts) end |
#webclient_authorization_url(opts = {}) ⇒ Object
Generates the Yammer URL that the user will be redirected to in order to authorize your application
client = Yammer::OAuth2Client.new('ETSIGVSxmgZitijWZr0G6w', '4bJZY38TCBB9q8IpkeualA2lZsPhOSclkkSKw3RXuE') client.webclient_authorization_url({ :redirect_uri => 'https://localhost/oauth/cb', }) https://www.yammer.com/oauth2/authorize/?client_id=Configurable#client_id& redirect_uri=http%3A%2F%2Flocalhost%2Foauth%2Fcb&response_type=token
47 48 49 |
# File 'lib/yammer/oauth2_client.rb', line 47 def (opts={}) implicit.token_url(opts) end |
#webserver_authorization_url(opts = {}) ⇒ Object
Generates the Yammer URL that the user will be redirected to in order to authorize your application
client = Yammer::OAuth2Client.new('ETSIGVSxmgZitijWZr0G6w', '4bJZY38TCBB9q8IpkeualA2lZsPhOSclkkSKw3RXuE') client.webserver_authorization_url({ :redirect_uri => 'https://localhost/oauth/cb', }) https://www.yammer.com/oauth2/authorize/?client_id=Configurable#client_id& redirect_uri=http%3A%2F%2Flocalhost%2Foauth%2Fcb&response_type=code
65 66 67 68 |
# File 'lib/yammer/oauth2_client.rb', line 65 def (opts={}) opts[:scope] = normalize_scope(opts[:scope]) if opts[:scope] .(opts) end |