Sha256: fd929ac0175d9d579e213eb87a80d9f946e534b2e46c61b043cdf7cdc9010aab
Contents?: true
Size: 1.73 KB
Versions: 1
Compression:
Stored size: 1.73 KB
Contents
# encoding: utf-8 module Github module Authorization attr_accessor :scopes # Setup OAuth2 instance def client @client ||= ::OAuth2::Client.new(client_id, client_secret, :site => 'https://github.com', :authorize_url => 'login/oauth/authorize', :token_url => 'login/oauth/access_token' ) end # Strategy token def auth_code _verify_client @client.auth_code end # Sends authorization request to GitHub. # = Parameters # * <tt>:redirect_uri</tt> - Required string. # * <tt>:scope</tt> - Optional string. Comma separated list of scopes. # Available scopes: # * (no scope) - public read-only access (includes public user profile info, public repo info, and gists). # * <tt>user</tt> - DB read/write access to profile info only. # * <tt>public_repo</tt> - DB read/write access, and Git read access to public repos. # * <tt>repo</tt> - DB read/write access, and Git read access to public and private repos. # * <tt>gist</tt> - write access to gists. # def authorize_url(params = {}) _verify_client @client.auth_code.authorize_url(params) end # Makes request to token endpoint and retrieves access token value def get_token(authorization_code, params = {}) _verify_client @client.auth_code.get_token(authorization_code, params) end # Check whether authentication credentials are present def authenticated? basic_auth? || oauth_token? || (login? && password?) end private def _verify_client # :nodoc: raise ArgumentError, 'Need to provide client_id and client_secret' unless client_id? && client_secret? end end # Authorization end # Github
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
github_api-0.3.0 | lib/github_api/authorization.rb |