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