module Octokit::Authentication

Authentication methods for {Octokit::Client}

Constants

FARADAY_BASIC_AUTH_KEYS

In Faraday 2.x, the authorization middleware uses new interface

Public Instance Methods

application_authenticated?() click to toggle source

Indicates if the client has OAuth Application client_id and secret credentials to make anonymous requests at a higher rate limit

@see developer.github.com/v3/#unauthenticated-rate-limited-requests @return [Boolean]

# File lib/octokit/authentication.rb, line 55
def application_authenticated?
  !!(@client_id && @client_secret)
end
basic_authenticated?() click to toggle source

Indicates if the client was supplied Basic Auth username and password

@see developer.github.com/v3/#authentication @return [Boolean]

# File lib/octokit/authentication.rb, line 19
def basic_authenticated?
  !!(@login && @password)
end
bearer_authenticated?() click to toggle source

Indicates if the client was supplied a bearer token

@see developer.github.com/early-access/integrations/authentication/#as-an-integration @return [Boolean]

# File lib/octokit/authentication.rb, line 36
def bearer_authenticated?
  !!@bearer_token
end
token_authenticated?() click to toggle source

Indicates if the client was supplied an OAuth access token

@see developer.github.com/v3/#authentication @return [Boolean]

# File lib/octokit/authentication.rb, line 28
def token_authenticated?
  !!@access_token
end
user_authenticated?() click to toggle source

Indicates if the client was supplied an OAuth access token or Basic Auth username and password

@see developer.github.com/v3/#authentication @return [Boolean]

# File lib/octokit/authentication.rb, line 45
def user_authenticated?
  basic_authenticated? || token_authenticated?
end

Private Instance Methods

login_from_netrc() click to toggle source
# File lib/octokit/authentication.rb, line 61
def login_from_netrc
  return unless netrc?

  require 'netrc'
  info = Netrc.read netrc_file
  netrc_host = URI.parse(api_endpoint).host
  creds = info[netrc_host]
  if creds.nil?
    # creds will be nil if there is no netrc for this end point
    octokit_warn "Error loading credentials from netrc file for #{api_endpoint}"
  else
    creds = creds.to_a
    self.login = creds.shift
    self.password = creds.shift
  end
rescue LoadError
  octokit_warn 'Please install netrc gem for .netrc support'
end