omniauth-geoloqi 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.
data/README.markdown ADDED
@@ -0,0 +1,35 @@
1
+ omniauth-geoloqi
2
+ ===
3
+ Adapter for the [Omniauth](https://github.com/intridea/omniauth) gem. Requires version 1.0 or later.
4
+
5
+ Installation
6
+ ---
7
+
8
+ gem install omniauth-geoloqi
9
+
10
+ Basic Usage (with Sinatra)
11
+ ---
12
+
13
+ use Rack::Session::Cookie
14
+ use OmniAuth::Builder do
15
+ provider :geoloqi, 'YOUR CLIENT ID', 'YOUR CLIENT SECRET'
16
+ end
17
+
18
+ # Direct user to '/auth/geoloqi' to start authorization.
19
+
20
+ get '/auth/geoloqi/callback' do
21
+ puts "THE RESULT HASH: #{request.env['omniauth.auth']}"
22
+ end
23
+
24
+ Found a bug?
25
+ ---
26
+ Let us know! Send a pull request or a patch. Questions? Ask! We're here to help. File issues, we'll respond to them!
27
+
28
+ Authors
29
+ ---
30
+ * Kyle Drake
31
+
32
+ TODO / Possible projects
33
+ ---
34
+ * Integrate with Geoloqi ruby client
35
+ * Better examples
@@ -0,0 +1,2 @@
1
+ require "omniauth-geoloqi/version"
2
+ require 'omniauth/strategies/geoloqi'
@@ -0,0 +1,5 @@
1
+ module OmniAuth
2
+ module Geoloqi
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,61 @@
1
+ require 'omniauth-oauth2'
2
+
3
+ module OmniAuth
4
+ module Strategies
5
+ class Geoloqi < OmniAuth::Strategies::OAuth2
6
+ option :name, "geoloqi"
7
+
8
+ option :client_options, {
9
+ :site => 'https://api.geoloqi.com',
10
+ :authorize_url => 'https://geoloqi.com/oauth/authorize',
11
+ :token_url => 'https://api.geoloqi.com/1/oauth/token'
12
+ }
13
+
14
+ option :access_token_options, {
15
+ :header_format => 'OAuth %s',
16
+ :param_name => 'access_token'
17
+ }
18
+
19
+ uid { access_token.params['user_id'] }
20
+
21
+ info do
22
+ {
23
+ :display_name => access_token.params['display_name'],
24
+ :username => access_token.params['username'],
25
+ :user_id => access_token.params['user_id'],
26
+ :is_anonymous => access_token.params['is_anonymous']
27
+ }
28
+ end
29
+
30
+ credentials do
31
+ {
32
+ 'expires' => access_token.expires?,
33
+ 'expires_at' => access_token.expires_at
34
+ }
35
+ end
36
+
37
+ def build_access_token
38
+ super.tap do |token|
39
+ token.options.merge!(access_token_options)
40
+ end
41
+ end
42
+
43
+ def access_token_options
44
+ options.access_token_options.inject({}) { |h,(k,v)| h[k.to_sym] = v; h }
45
+ end
46
+
47
+ def authorize_params
48
+ super.tap do |params|
49
+ params.merge!(:display => request.params['display']) if request.params['display']
50
+ end
51
+ end
52
+
53
+ # def raw_info
54
+ # access_token.options[:mode] = :query
55
+ # @raw_info ||= access_token.get('/1/account/profile').parsed
56
+ # end
57
+ end
58
+ end
59
+ end
60
+
61
+ OmniAuth.config.add_camelization 'geoloqi', 'Geoloqi'
@@ -0,0 +1,17 @@
1
+ require './lib/omniauth-geoloqi/version'
2
+ Gem::Specification.new do |s|
3
+ s.name = 'omniauth-geoloqi'
4
+ s.version = OmniAuth::Geoloqi::VERSION
5
+ s.authors = ['Kyle Drake']
6
+ s.email = ['kyledrake@gmail.com']
7
+ s.homepage = 'http://github.com/geoloqi/omniauth-geoloqi'
8
+ s.summary = 'Geoloqi adapter for Omniauth'
9
+ s.description = 'Geoloqi adapter for Omniauth.'
10
+
11
+ s.files = `git ls-files`.split("\n")
12
+ s.require_paths = %w[lib]
13
+ s.rubyforge_project = s.name
14
+ s.required_rubygems_version = '>= 1.3.4'
15
+
16
+ s.add_dependency 'omniauth-oauth2', '> 1.0.0'
17
+ end
metadata ADDED
@@ -0,0 +1,71 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: omniauth-geoloqi
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - Kyle Drake
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-11-03 00:00:00 -07:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: omniauth-oauth2
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">"
23
+ - !ruby/object:Gem::Version
24
+ version: 1.0.0
25
+ type: :runtime
26
+ version_requirements: *id001
27
+ description: Geoloqi adapter for Omniauth.
28
+ email:
29
+ - kyledrake@gmail.com
30
+ executables: []
31
+
32
+ extensions: []
33
+
34
+ extra_rdoc_files: []
35
+
36
+ files:
37
+ - README.markdown
38
+ - lib/omniauth-geoloqi.rb
39
+ - lib/omniauth-geoloqi/version.rb
40
+ - lib/omniauth/strategies/geoloqi.rb
41
+ - omniauth-geoloqi.gemspec
42
+ has_rdoc: true
43
+ homepage: http://github.com/geoloqi/omniauth-geoloqi
44
+ licenses: []
45
+
46
+ post_install_message:
47
+ rdoc_options: []
48
+
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.3.4
63
+ requirements: []
64
+
65
+ rubyforge_project: omniauth-geoloqi
66
+ rubygems_version: 1.5.1
67
+ signing_key:
68
+ specification_version: 3
69
+ summary: Geoloqi adapter for Omniauth
70
+ test_files: []
71
+