omniauth_dailycred 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
- metadata.gz: feab5e8cbd41a360a390fdc4517f53307189f5cd
4
- data.tar.gz: 6e2bb63dc502082e8334e4e3b3d8bcfa039269a8
3
+ metadata.gz: 0b47a27e0054f179b403fbee7447c982b704a06e
4
+ data.tar.gz: 05caa3c58caf5d76037e89808d48ec0da36b45ac
5
5
  !binary "U0hBNTEy":
6
- metadata.gz: 75ae7e38a66b470a76d355b986f202c8f1c7cb71560beee843f790f9cde0c34e6ac1ec0a838017d4cb797bd25c71bafa1c760428d4a5da0d226bbf7f3f069851
7
- data.tar.gz: db71d0719ba32ababc9dbc4d4afbca88a3faf9a34f9c2987548f11d05d7415f6047578f77dbb6ee3a974d2a902f3afd0e700ef51c0d7887ae703365e9b983a9b
6
+ metadata.gz: fca6b792956cf751f530a2bcb8ae097e21adf56078d0d4f7114bb667166b94153d2d7f9c9d58d849feb5647144db5a0cc5e919527223f5a7544a41088eb850f4
7
+ data.tar.gz: 1d168af544c63db3a784d251a49f64868b57d4dbe71a7709805a64e149f2d04d79fea1a83c2ec582833c585c1b2f2841f60f830808209a147aeac2935caa3207
data/README.md CHANGED
@@ -1,29 +1,100 @@
1
- # OmniauthDailycred
1
+ # Omniauth_Dailycred
2
2
 
3
- TODO: Write a gem description
3
+ This gem is intended for users who solely want to interact with [dailycred](https://www.dailycred.com) through omniauth. If you are looking into a more comprehensive authentication solution with dailycred, you should see our [rails engine](https://github.com/dailycred/dailycred).
4
4
 
5
- ## Installation
5
+ Because we've extracted OAuth login from the [Rails engine](https://github.com/dailycred/dailycred) into its own [omniauth gem](https://github.com/dailycred/omniauth_dailycred), it's now extremely easy to implement dailycred in an existing project.
6
6
 
7
- Add this line to your application's Gemfile:
7
+ ## Why?
8
8
 
9
- gem 'omniauth_dailycred'
9
+ Even if you've already set up authentication, Dailycred can be extremely helpful as a proxy for other authentication providers. For example:
10
10
 
11
- And then execute:
11
+ * Not all OAuth providers allow you to pass state, and none of them allow you to pass additional parameters like ['referrer'](https://www.dailycred.com/api/server-side).
12
+ * You get instant access to a [comprehensive dashboard](https://www.dailycred.com/demo) to view your users and get a deeper insight into their behavior.
13
+ * Only implement one omniauth provider, and then send your user to any [identity provider](https://www.dailycred.com/api/providers) by sending them to the following route:
12
14
 
13
- $ bundle
15
+ /auth/dailycred?identity_provider=[provider]
16
+
14
17
 
15
- Or install it yourself as:
16
18
 
17
- $ gem install omniauth_dailycred
19
+ ##Installation
18
20
 
19
- ## Usage
21
+ In your gemfile
20
22
 
21
- TODO: Write usage instructions here
23
+ ~~~
24
+ gem 'omniauth_dailycred'
25
+ ~~~
22
26
 
23
- ## Contributing
27
+ Then run `bundle`.
28
+
29
+ ##Usage
30
+
31
+ Create an initializer at `config/initializers/omniauth.rb` with the following:
32
+
33
+ ~~~
34
+ Rails.application.config.middleware.use OmniAuth::Builder do
35
+ provider :dailycred, ENV['DAILYCRED_CLIENT_ID'], ENV['DAILYCRED_SECRET']
36
+ end
37
+ ~~~
38
+
39
+ Then simply send your users to `auth/dailycred` and they will be forwarded through the OAuth flow. The following parameters can be passed along to dailycred:
40
+
41
+ 1. action
42
+ 1. identity_provider
43
+ 1. referrer
44
+ 1. access_token
45
+
46
+ If you run into an SSL Error, it's because omniauth can't find your ssl certicate. Try modifying `config/initializers/omniauth.rb` to look like the following:
47
+
48
+ ~~~
49
+ opts = {:client_options => {:ssl => {}}}
50
+
51
+ if File.exists?('/etc/ssl/certs')
52
+ opts[:client_options][:ssl][:ca_path] = '/etc/ssl/certs'
53
+ end
54
+ if File.exists?('/opt/local/share/curl/curl-ca-bundle.crt')
55
+ opts[:client_options][:ssl][:ca_file] = '/opt/local/share/curl/curl-ca-bundle.crt'
56
+ end
57
+
58
+ Rails.application.config.middleware.use OmniAuth::Builder do
59
+ provider :dailycred, ENV['DAILYCRED_CLIENT_ID'], ENV['DAILYCRED_SECRET'], opts
60
+ end
61
+ ~~~
62
+
63
+ Follow the omniauth instructions to [integrate omniauth into your application](https://github.com/intridea/omniauth#integrating-omniauth-into-your-application) for further setup details.
64
+
65
+ In your *callback*, `request.env['omniauth.auth']` will look something like the following:
66
+
67
+ ~~~
68
+ {
69
+ "provider" => "dailycred",
70
+ "uid" => "userid-xx-yy",
71
+ "info" => {
72
+ "token" => "token-xxyy-token",
73
+ "provider" => "dailycred",
74
+ "uid" => "userid-xx-yy",
75
+ "ban" => false,
76
+ "user_type" => "CONVERTED",
77
+ "identities" => {},
78
+ "display" => "test@test.com",
79
+ "emails" => {},
80
+ "picture" => "https://www.dailycred.com/user/pic?user_id=userid-xx-yy&size=50",
81
+ "updated_at" => 1366670682849,
82
+ "created" => Mon, 15 Apr 2013 18:20:28 +0000,
83
+ "email" => "test@test.com",
84
+ "last_logged_in" => 1366670682848,
85
+ "verified" => false,
86
+ "guest" => false,
87
+ "attributes" => {},
88
+ "access_tokens" => {
89
+ "dailycred" => "token-xxyy-token"
90
+ },
91
+ "access_token" => "token-xxyy-token"
92
+ },
93
+ "credentials" => {
94
+ "token" => "token-xxyy-token",
95
+ "expires" => false
96
+ },
97
+ "extra" => {}
98
+ }
99
+ ~~~
24
100
 
25
- 1. Fork it
26
- 2. Create your feature branch (`git checkout -b my-new-feature`)
27
- 3. Commit your changes (`git commit -am 'Add some feature'`)
28
- 4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create new Pull Request
@@ -1,6 +1,3 @@
1
- require "omniauth_dailycred/version"
1
+ Dir[File.expand_path('../omniauth_dailycred/*', __FILE__)].each { |f| require f }
2
2
  require "omniauth/strategies/dailycred"
3
3
 
4
- module OmniauthDailycred
5
- # Your code goes here...
6
- end
@@ -1,3 +1,3 @@
1
1
  module OmniauthDailycred
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth_dailycred
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hank Stoever
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-17 00:00:00.000000000 Z
11
+ date: 2013-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  version: '0'
103
103
  requirements: []
104
104
  rubyforge_project:
105
- rubygems_version: 2.0.0
105
+ rubygems_version: 2.0.3
106
106
  signing_key:
107
107
  specification_version: 4
108
108
  summary: Use if you only want to communicate with Dailycred through omniauth.