Initial commit
This commit is contained in:
commit
e99e83fe90
|
@ -0,0 +1,40 @@
|
||||||
|
PATH
|
||||||
|
remote: .
|
||||||
|
specs:
|
||||||
|
omniauth-mastodon (0.0.1)
|
||||||
|
omniauth (~> 1.0)
|
||||||
|
omniauth-oauth2 (~> 1.1)
|
||||||
|
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
faraday (0.9.2)
|
||||||
|
multipart-post (>= 1.2, < 3)
|
||||||
|
hashie (3.4.6)
|
||||||
|
jwt (1.5.6)
|
||||||
|
multi_json (1.12.1)
|
||||||
|
multi_xml (0.5.5)
|
||||||
|
multipart-post (2.0.0)
|
||||||
|
oauth2 (1.2.0)
|
||||||
|
faraday (>= 0.8, < 0.10)
|
||||||
|
jwt (~> 1.0)
|
||||||
|
multi_json (~> 1.3)
|
||||||
|
multi_xml (~> 0.5)
|
||||||
|
rack (>= 1.2, < 3)
|
||||||
|
omniauth (1.3.1)
|
||||||
|
hashie (>= 1.2, < 4)
|
||||||
|
rack (>= 1.0, < 3)
|
||||||
|
omniauth-oauth2 (1.4.0)
|
||||||
|
oauth2 (~> 1.0)
|
||||||
|
omniauth (~> 1.2)
|
||||||
|
rack (2.0.1)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
bundler (~> 1.0)
|
||||||
|
omniauth-mastodon!
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
1.13.0
|
|
@ -0,0 +1,2 @@
|
||||||
|
require 'omniauth/mastodon/version'
|
||||||
|
require 'omniauth/strategies/mastodon'
|
|
@ -0,0 +1,31 @@
|
||||||
|
module OmniAuth
|
||||||
|
module Mastodon
|
||||||
|
module Version
|
||||||
|
module_function
|
||||||
|
|
||||||
|
def major
|
||||||
|
0
|
||||||
|
end
|
||||||
|
|
||||||
|
def minor
|
||||||
|
0
|
||||||
|
end
|
||||||
|
|
||||||
|
def patch
|
||||||
|
1
|
||||||
|
end
|
||||||
|
|
||||||
|
def pre
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_a
|
||||||
|
[major, minor, patch, pre].compact
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_s
|
||||||
|
to_a.join('.')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,30 @@
|
||||||
|
require 'omniauth-oauth2'
|
||||||
|
|
||||||
|
module OmniAuth
|
||||||
|
module Strategies
|
||||||
|
class Mastodon < OmniAuth::Strategies::OAuth2
|
||||||
|
option :name, 'mastodon'
|
||||||
|
|
||||||
|
option :domain
|
||||||
|
|
||||||
|
uid { [raw_info['username'], '@', options.domain].join }
|
||||||
|
|
||||||
|
info do
|
||||||
|
{
|
||||||
|
name: raw_info['username'],
|
||||||
|
nickname: raw_info['username'],
|
||||||
|
image: raw_info['avatar'],
|
||||||
|
urls: { 'Profile' => raw_info['url'] }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
extra do
|
||||||
|
{ raw_info: raw_info }
|
||||||
|
end
|
||||||
|
|
||||||
|
def raw_info
|
||||||
|
@raw_info ||= access_token.get('api/v1/accounts/verify_credentials').parsed
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,21 @@
|
||||||
|
lib = File.expand_path('../lib', __FILE__)
|
||||||
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
||||||
|
require 'omniauth/mastodon/version'
|
||||||
|
|
||||||
|
Gem::Specification.new do |spec|
|
||||||
|
spec.authors = ["Eugen Rochko"]
|
||||||
|
spec.email = "eugen@zeonfederated.com"
|
||||||
|
spec.description = "OmniAuth Strategy for Mastodon"
|
||||||
|
spec.summary = spec.description
|
||||||
|
spec.homepage = "https://github.com/Gargron/omniauth-mastodon"
|
||||||
|
spec.licenses = %w(MIT)
|
||||||
|
spec.files = %w(omniauth-mastodon.gemspec) + Dir['lib/**/*.rb']
|
||||||
|
spec.name = "omniauth-mastodon"
|
||||||
|
spec.require_paths = %w(lib)
|
||||||
|
spec.version = OmniAuth::Mastodon::Version
|
||||||
|
|
||||||
|
spec.add_dependency 'omniauth', '~> 1.0'
|
||||||
|
spec.add_dependency 'omniauth-oauth2', '~> 1.1'
|
||||||
|
|
||||||
|
spec.add_development_dependency 'bundler', '~> 1.0'
|
||||||
|
end
|
Loading…
Reference in New Issue