Files
news.gitea.happylizard.me/bin/gems/octokit-6.1.1/lib/octokit/authentication.rb
T
pizza2d1 4cee170d66
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s
Add bin and edit workflow
2026-09-16 13:11:16 -06:00

81 lines
2.2 KiB
Ruby

# frozen_string_literal: true
module Octokit
# Authentication methods for {Octokit::Client}
module Authentication
# In Faraday 2.x, the authorization middleware uses new interface
FARADAY_BASIC_AUTH_KEYS =
if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
%i[authorization basic]
else
[:basic_auth]
end
# Indicates if the client was supplied Basic Auth
# username and password
#
# @see https://developer.github.com/v3/#authentication
# @return [Boolean]
def basic_authenticated?
!!(@login && @password)
end
# Indicates if the client was supplied an OAuth
# access token
#
# @see https://developer.github.com/v3/#authentication
# @return [Boolean]
def token_authenticated?
!!@access_token
end
# Indicates if the client was supplied a bearer token
#
# @see https://developer.github.com/early-access/integrations/authentication/#as-an-integration
# @return [Boolean]
def bearer_authenticated?
!!@bearer_token
end
# Indicates if the client was supplied an OAuth
# access token or Basic Auth username and password
#
# @see https://developer.github.com/v3/#authentication
# @return [Boolean]
def user_authenticated?
basic_authenticated? || token_authenticated?
end
# Indicates if the client has OAuth Application
# client_id and secret credentials to make anonymous
# requests at a higher rate limit
#
# @see https://developer.github.com/v3/#unauthenticated-rate-limited-requests
# @return [Boolean]
def application_authenticated?
!!(@client_id && @client_secret)
end
private
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
end
end