omniauth-opengem 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/README.md +40 -0
- data/Rakefile +2 -0
- data/lib/omniauth-opengem.rb +2 -0
- data/lib/omniauth-opengem/version.rb +5 -0
- data/lib/omniauth/strategies/opengem.rb +37 -0
- data/omniauth-opengem.gemspec +24 -0
- data/spec/omniauth/strategies/opengem_spec.rb +29 -0
- data/spec/spec_helper.rb +15 -0
- metadata +138 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 49bf73566377c1639b49f8281325d5c2b9d6f754
|
4
|
+
data.tar.gz: 59ba7e2d0623cf1e6443e900c5a4404d4c300556
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f0bbf8c0499aff0dfd8ad6bf32a1e8186e473d670d0a1cb246efd9b2f633844434c2eee23ffe8f2520c4c6e4e798aa68f5c6cd693e5e08d22876f56604a500d8
|
7
|
+
data.tar.gz: c59cfca6e639a8254967ffd4afda910fb27b6ba2bcbb28878eb3e7b4f536d8793609450f9e0ceb14d60b3a59b16373cac4220d10003e7a3fdc6738fd5a4d34cb
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# OmniAuth::Opengem
|
2
|
+
|
3
|
+
An OmniAuth Strategy for App.net.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'omniauth-opengem'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install omniauth-opengem
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
### Sinatra
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
require 'omniauth'
|
25
|
+
require 'omniauth-opengem'
|
26
|
+
|
27
|
+
use Rack::Session::Cookie
|
28
|
+
use OmniAuth::Builder do
|
29
|
+
provider :opengem, 'YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET'
|
30
|
+
end
|
31
|
+
|
32
|
+
get '/auth/:provider/callback' do
|
33
|
+
# Do something with auth_hash
|
34
|
+
redirect to('/')
|
35
|
+
end
|
36
|
+
|
37
|
+
def auth_hash
|
38
|
+
request.env['omniauth.auth']
|
39
|
+
end
|
40
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'omniauth-oauth2'
|
2
|
+
|
3
|
+
module OmniAuth
|
4
|
+
module Strategies
|
5
|
+
class Opengem < OmniAuth::Strategies::OAuth2
|
6
|
+
|
7
|
+
option :name, 'opengem'
|
8
|
+
|
9
|
+
option :client_options, {
|
10
|
+
:site => 'https://accounts.opengem.org',
|
11
|
+
:authorize_url => 'https://accounts.opengem.org/oauth/authenticate',
|
12
|
+
:token_url => 'https://accounts.opengem.org/oauth/access_token'
|
13
|
+
}
|
14
|
+
|
15
|
+
uid { raw_info['id'] }
|
16
|
+
|
17
|
+
info do
|
18
|
+
{
|
19
|
+
:nickname => raw_info['username'],
|
20
|
+
:name => raw_info['name'],
|
21
|
+
:image => raw_info['avatar_image']['url'],
|
22
|
+
:type => raw_info['type'],
|
23
|
+
:counts => raw_info['counts']
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
extra do
|
28
|
+
{ :raw_info => raw_info }
|
29
|
+
end
|
30
|
+
|
31
|
+
def raw_info
|
32
|
+
@raw_info ||= access_token.get('/users/me').parsed
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/omniauth-opengem/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["R Odili"]
|
6
|
+
gem.email = ["janesmit@airmail.cc"]
|
7
|
+
gem.description = "Omniauth Strategy for Opengem.org"
|
8
|
+
gem.summary = "Omniauth Strategy for Opengem.org"
|
9
|
+
gem.homepage = "https://github.com/odilitime/omniauth-opengem"
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "omniauth-opengem"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = Omniauth::Opengem::VERSION
|
17
|
+
|
18
|
+
gem.add_dependency 'omniauth', '~> 1.0'
|
19
|
+
gem.add_dependency 'omniauth-oauth2', '~> 1.1'
|
20
|
+
gem.add_development_dependency "rspec", "~> 2.7"
|
21
|
+
gem.add_development_dependency 'rack-test'
|
22
|
+
gem.add_development_dependency 'simplecov'
|
23
|
+
gem.add_development_dependency 'webmock'
|
24
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OmniAuth::Strategies::Opengem do
|
4
|
+
|
5
|
+
subject do
|
6
|
+
OmniAuth::Strategies::Opengem.new({})
|
7
|
+
end
|
8
|
+
|
9
|
+
context "general" do
|
10
|
+
it "should be called opengem" do
|
11
|
+
subject.options.name.should eq('opengem')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
context "endpoints" do
|
16
|
+
it "has correct site" do
|
17
|
+
subject.options.client_options.site.should eq("https://accounts.opengem.org")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "has correct authorize_url" do
|
21
|
+
subject.options.client_options.authorize_url.should eq("https://accounts.opengem.org/oauth/authenticate")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "has correct token_url" do
|
25
|
+
subject.options.client_options.token_url.should eq("https://accounts.opengem.org/oauth/access_token")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
$:.unshift File.expand_path('..', __FILE__)
|
2
|
+
$:.unshift File.expand_path('../../lib', __FILE__)
|
3
|
+
require 'simplecov'
|
4
|
+
SimpleCov.start
|
5
|
+
require 'rspec'
|
6
|
+
require 'rack/test'
|
7
|
+
require 'webmock/rspec'
|
8
|
+
require 'omniauth'
|
9
|
+
require 'omniauth-opengem'
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.include WebMock::API
|
13
|
+
config.include Rack::Test::Methods
|
14
|
+
config.extend OmniAuth::Test::StrategyMacros, :type => :strategy
|
15
|
+
end
|
metadata
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: omniauth-opengem
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- R Odili
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-10-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: omniauth
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: omniauth-oauth2
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rack-test
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: simplecov
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: Omniauth Strategy for Opengem.org
|
98
|
+
email:
|
99
|
+
- janesmit@airmail.cc
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- Gemfile
|
105
|
+
- README.md
|
106
|
+
- Rakefile
|
107
|
+
- lib/omniauth-opengem.rb
|
108
|
+
- lib/omniauth-opengem/version.rb
|
109
|
+
- lib/omniauth/strategies/opengem.rb
|
110
|
+
- omniauth-opengem.gemspec
|
111
|
+
- spec/omniauth/strategies/opengem_spec.rb
|
112
|
+
- spec/spec_helper.rb
|
113
|
+
homepage: https://github.com/odilitime/omniauth-opengem
|
114
|
+
licenses: []
|
115
|
+
metadata: {}
|
116
|
+
post_install_message:
|
117
|
+
rdoc_options: []
|
118
|
+
require_paths:
|
119
|
+
- lib
|
120
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
130
|
+
requirements: []
|
131
|
+
rubyforge_project:
|
132
|
+
rubygems_version: 2.2.2
|
133
|
+
signing_key:
|
134
|
+
specification_version: 4
|
135
|
+
summary: Omniauth Strategy for Opengem.org
|
136
|
+
test_files:
|
137
|
+
- spec/omniauth/strategies/opengem_spec.rb
|
138
|
+
- spec/spec_helper.rb
|