solidus_social 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +35 -0
- data/.gem_release.yml +5 -0
- data/.github/stale.yml +17 -0
- data/.gitignore +6 -8
- data/.rspec +3 -3
- data/.rubocop.yml +3 -149
- data/.rubocop_todo.yml +42 -0
- data/CHANGELOG.md +31 -9
- data/Gemfile +21 -20
- data/{LICENSE.md → LICENSE} +2 -2
- data/README.md +56 -14
- data/Rakefile +4 -19
- data/app/controllers/spree/admin/authentication_methods_controller.rb +2 -0
- data/app/controllers/spree/omniauth_callbacks_controller.rb +8 -6
- data/app/controllers/spree/user_authentications_controller.rb +3 -1
- data/app/decorators/controllers/solidus_social/spree/user_registrations_controller_decorator.rb +27 -0
- data/app/decorators/models/solidus_social/spree/user_decorator.rb +28 -0
- data/app/helpers/spree/omniauth_callbacks_helper.rb +2 -0
- data/app/models/spree/authentication_method.rb +3 -1
- data/app/models/spree/social_configuration.rb +2 -0
- data/app/models/spree/user_authentication.rb +3 -1
- data/app/overrides/add_authentications_to_account_summary.rb +2 -0
- data/app/overrides/admin_configuration_decorator.rb +3 -1
- data/app/overrides/user_registrations_decorator.rb +2 -0
- data/app/views/spree/admin/authentication_methods/_form.html.erb +4 -4
- data/app/views/spree/admin/authentication_methods/edit.html.erb +2 -2
- data/app/views/spree/admin/authentication_methods/index.html.erb +10 -10
- data/app/views/spree/admin/authentication_methods/new.html.erb +2 -2
- data/app/views/spree/shared/_social.html.erb +5 -5
- data/app/views/spree/shared/_user_form.html.erb +3 -3
- data/app/views/spree/users/_new-customer.html.erb +2 -2
- data/app/views/spree/users/_social.html.erb +5 -5
- data/bin/console +17 -0
- data/bin/rails +15 -4
- data/bin/rake +7 -0
- data/bin/sandbox +72 -0
- data/bin/setup +8 -0
- data/config/locales/en.yml +1 -0
- data/config/routes.rb +6 -4
- data/db/migrate/20120120163432_create_user_authentications.rb +2 -0
- data/db/migrate/20120123163222_create_authentication_methods.rb +2 -0
- data/lib/generators/solidus_social/install/install_generator.rb +7 -5
- data/lib/generators/solidus_social/install/templates/config/initializers/solidus_social.rb +3 -1
- data/lib/solidus_social.rb +22 -7
- data/lib/solidus_social/engine.rb +29 -54
- data/lib/solidus_social/facebook_omniauth_strategy_ext.rb +25 -0
- data/lib/solidus_social/factories.rb +4 -0
- data/lib/solidus_social/version.rb +3 -16
- data/solidus_social.gemspec +43 -46
- data/spec/controllers/spree/omniauth_callbacks_controller_spec.rb +14 -9
- data/spec/features/spree/admin/authentication_methods_configuration_spec.rb +13 -10
- data/spec/features/spree/sign_in_spec.rb +13 -10
- data/spec/lib/solidus_social/engine_spec.rb +9 -0
- data/spec/lib/{spree_social/engine_spec.rb → solidus_social_speec.rb} +3 -1
- data/spec/lib/spree/social_config_spec.rb +2 -0
- data/spec/models/spree/authentication_method_spec.rb +4 -2
- data/spec/models/spree/social_configuration_spec.rb +2 -0
- data/spec/models/spree/user_decorator_spec.rb +5 -3
- data/spec/spec_helper.rb +17 -29
- data/spec/support/omniauth.rb +4 -0
- metadata +56 -196
- data/.hound.yml +0 -26
- data/.travis.yml +0 -32
- data/app/assets/javascripts/spree/backend/solidus_social.js +0 -1
- data/app/assets/javascripts/spree/frontend/solidus_social.js +0 -1
- data/app/assets/stylesheets/spree/backend/solidus_social.css +0 -3
- data/app/controllers/spree/user_registrations_controller_decorator.rb +0 -15
- data/app/models/spree/user_decorator.rb +0 -16
- data/spec/support/capybara.rb +0 -11
- data/spec/support/database_cleaner.rb +0 -23
- data/spec/support/devise.rb +0 -3
- data/spec/support/factory_girl.rb +0 -7
- data/spec/support/spree.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7f865f400fb253b1ee9b52a8b75e20bd3ff18f6f9a0444c579fa5dd864875c88
|
4
|
+
data.tar.gz: 3812d2d3438a99fa911bfbc3532859abdb1c5cd04f80f823503920c837e28e8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 622ca61bd56193b5bd3a8abe1c17b7a7e2be7bdb8b903167ea212ea988ac8c4b2ae82001476440c57271c55e8c6013cdca0f87f6e2859c79fc29d1a0104eec59
|
7
|
+
data.tar.gz: 528320886591e648f18196a7b3811f173a5c2f70352d40d762c4a635ae86430bad30a215611aad1dd738a63d3e56325f0d907edf67f972a6280f18e90034a92b
|
@@ -0,0 +1,35 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
orbs:
|
4
|
+
# Always take the latest version of the orb, this allows us to
|
5
|
+
# run specs against Solidus supported versions only without the need
|
6
|
+
# to change this configuration every time a Solidus version is released
|
7
|
+
# or goes EOL.
|
8
|
+
solidusio_extensions: solidusio/extensions@volatile
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
run-specs-with-postgres:
|
12
|
+
executor: solidusio_extensions/postgres
|
13
|
+
steps:
|
14
|
+
- solidusio_extensions/run-tests
|
15
|
+
run-specs-with-mysql:
|
16
|
+
executor: solidusio_extensions/mysql
|
17
|
+
steps:
|
18
|
+
- solidusio_extensions/run-tests
|
19
|
+
|
20
|
+
workflows:
|
21
|
+
"Run specs on supported Solidus versions":
|
22
|
+
jobs:
|
23
|
+
- run-specs-with-postgres
|
24
|
+
- run-specs-with-mysql
|
25
|
+
"Weekly run specs against master":
|
26
|
+
triggers:
|
27
|
+
- schedule:
|
28
|
+
cron: "0 0 * * 4" # every Thursday
|
29
|
+
filters:
|
30
|
+
branches:
|
31
|
+
only:
|
32
|
+
- master
|
33
|
+
jobs:
|
34
|
+
- run-specs-with-postgres
|
35
|
+
- run-specs-with-mysql
|
data/.gem_release.yml
ADDED
data/.github/stale.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# Number of days of inactivity before an issue becomes stale
|
2
|
+
daysUntilStale: 60
|
3
|
+
# Number of days of inactivity before a stale issue is closed
|
4
|
+
daysUntilClose: 7
|
5
|
+
# Issues with these labels will never be considered stale
|
6
|
+
exemptLabels:
|
7
|
+
- pinned
|
8
|
+
- security
|
9
|
+
# Label to use when marking an issue as stale
|
10
|
+
staleLabel: wontfix
|
11
|
+
# Comment to post when marking an issue as stale. Set to `false` to disable
|
12
|
+
markComment: >
|
13
|
+
This issue has been automatically marked as stale because it has not had
|
14
|
+
recent activity. It will be closed if no further activity occurs. Thank you
|
15
|
+
for your contributions.
|
16
|
+
# Comment to post when closing a stale issue. Set to `false` to disable
|
17
|
+
closeComment: false
|
data/.gitignore
CHANGED
@@ -1,18 +1,16 @@
|
|
1
|
+
*.gem
|
1
2
|
\#*
|
2
3
|
*~
|
3
4
|
.#*
|
4
5
|
.DS_Store
|
5
6
|
.idea
|
6
7
|
.project
|
8
|
+
.sass-cache
|
9
|
+
coverage
|
10
|
+
Gemfile.lock
|
7
11
|
tmp
|
8
12
|
nbproject
|
13
|
+
pkg
|
9
14
|
*.swp
|
10
15
|
spec/dummy
|
11
|
-
.
|
12
|
-
.bundle
|
13
|
-
Gemfile.lock
|
14
|
-
coverage
|
15
|
-
.ruby-version
|
16
|
-
.ruby-gemset
|
17
|
-
.node-version
|
18
|
-
.phantom-version
|
16
|
+
spec/examples.txt
|
data/.rspec
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
--
|
2
|
-
|
3
|
-
|
1
|
+
--color
|
2
|
+
--format documentation
|
3
|
+
--require spec_helper
|
data/.rubocop.yml
CHANGED
@@ -1,150 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
- spec/dummy/**/*
|
4
|
-
- bin/*
|
5
|
-
- Guardfile
|
6
|
-
- vendor/**/*
|
1
|
+
require:
|
2
|
+
- solidus_dev_support/rubocop
|
7
3
|
|
8
|
-
|
9
|
-
Enabled: false
|
10
|
-
|
11
|
-
# Relaxed.Ruby.Style
|
12
|
-
|
13
|
-
Style/Alias:
|
14
|
-
Enabled: false
|
15
|
-
StyleGuide: http://relaxed.ruby.style/#stylealias
|
16
|
-
|
17
|
-
Style/BeginBlock:
|
18
|
-
Enabled: false
|
19
|
-
StyleGuide: http://relaxed.ruby.style/#stylebeginblock
|
20
|
-
|
21
|
-
Style/BlockDelimiters:
|
22
|
-
Enabled: false
|
23
|
-
StyleGuide: http://relaxed.ruby.style/#styleblockdelimiters
|
24
|
-
|
25
|
-
Style/Documentation:
|
26
|
-
Enabled: false
|
27
|
-
StyleGuide: http://relaxed.ruby.style/#styledocumentation
|
28
|
-
|
29
|
-
Style/DotPosition:
|
30
|
-
Enabled: false
|
31
|
-
StyleGuide: http://relaxed.ruby.style/#styledotposition
|
32
|
-
|
33
|
-
Style/DoubleNegation:
|
34
|
-
Enabled: false
|
35
|
-
StyleGuide: http://relaxed.ruby.style/#styledoublenegation
|
36
|
-
|
37
|
-
Style/EndBlock:
|
38
|
-
Enabled: false
|
39
|
-
StyleGuide: http://relaxed.ruby.style/#styleendblock
|
40
|
-
|
41
|
-
Style/FormatString:
|
42
|
-
Enabled: false
|
43
|
-
StyleGuide: http://relaxed.ruby.style/#styleformatstring
|
44
|
-
|
45
|
-
Style/IfUnlessModifier:
|
46
|
-
Enabled: false
|
47
|
-
StyleGuide: http://relaxed.ruby.style/#styleifunlessmodifier
|
48
|
-
|
49
|
-
Style/Lambda:
|
50
|
-
Enabled: false
|
51
|
-
StyleGuide: http://relaxed.ruby.style/#stylelambda
|
52
|
-
|
53
|
-
Style/ModuleFunction:
|
54
|
-
Enabled: false
|
55
|
-
StyleGuide: http://relaxed.ruby.style/#stylemodulefunction
|
56
|
-
|
57
|
-
Style/MultilineBlockChain:
|
58
|
-
Enabled: false
|
59
|
-
StyleGuide: http://relaxed.ruby.style/#stylemultilineblockchain
|
60
|
-
|
61
|
-
Style/NegatedIf:
|
62
|
-
Enabled: false
|
63
|
-
StyleGuide: http://relaxed.ruby.style/#stylenegatedif
|
64
|
-
|
65
|
-
Style/NegatedWhile:
|
66
|
-
Enabled: false
|
67
|
-
StyleGuide: http://relaxed.ruby.style/#stylenegatedwhile
|
68
|
-
|
69
|
-
Style/ParallelAssignment:
|
70
|
-
Enabled: false
|
71
|
-
StyleGuide: http://relaxed.ruby.style/#styleparallelassignment
|
72
|
-
|
73
|
-
Style/PercentLiteralDelimiters:
|
74
|
-
Enabled: false
|
75
|
-
StyleGuide: http://relaxed.ruby.style/#stylepercentliteraldelimiters
|
76
|
-
|
77
|
-
Style/PerlBackrefs:
|
78
|
-
Enabled: false
|
79
|
-
StyleGuide: http://relaxed.ruby.style/#styleperlbackrefs
|
80
|
-
|
81
|
-
Style/Semicolon:
|
82
|
-
Enabled: false
|
83
|
-
StyleGuide: http://relaxed.ruby.style/#stylesemicolon
|
84
|
-
|
85
|
-
Style/SignalException:
|
86
|
-
Enabled: false
|
87
|
-
StyleGuide: http://relaxed.ruby.style/#stylesignalexception
|
88
|
-
|
89
|
-
Style/SingleLineBlockParams:
|
90
|
-
Enabled: false
|
91
|
-
StyleGuide: http://relaxed.ruby.style/#stylesinglelineblockparams
|
92
|
-
|
93
|
-
Style/SingleLineMethods:
|
94
|
-
Enabled: false
|
95
|
-
StyleGuide: http://relaxed.ruby.style/#stylesinglelinemethods
|
96
|
-
|
97
|
-
Style/SpaceBeforeBlockBraces:
|
98
|
-
Enabled: false
|
99
|
-
StyleGuide: http://relaxed.ruby.style/#stylespacebeforeblockbraces
|
100
|
-
|
101
|
-
Style/SpaceInsideParens:
|
102
|
-
Enabled: false
|
103
|
-
StyleGuide: http://relaxed.ruby.style/#stylespaceinsideparens
|
104
|
-
|
105
|
-
Style/SpecialGlobalVars:
|
106
|
-
Enabled: false
|
107
|
-
StyleGuide: http://relaxed.ruby.style/#stylespecialglobalvars
|
108
|
-
|
109
|
-
Style/StringLiterals:
|
110
|
-
Enabled: false
|
111
|
-
StyleGuide: http://relaxed.ruby.style/#stylestringliterals
|
112
|
-
|
113
|
-
Style/WhileUntilModifier:
|
114
|
-
Enabled: false
|
115
|
-
StyleGuide: http://relaxed.ruby.style/#stylewhileuntilmodifier
|
116
|
-
|
117
|
-
Lint/AmbiguousRegexpLiteral:
|
118
|
-
Enabled: false
|
119
|
-
StyleGuide: http://relaxed.ruby.style/#lintambiguousregexpliteral
|
120
|
-
|
121
|
-
Lint/AssignmentInCondition:
|
122
|
-
Enabled: false
|
123
|
-
StyleGuide: http://relaxed.ruby.style/#lintassignmentincondition
|
124
|
-
|
125
|
-
Metrics/AbcSize:
|
126
|
-
Enabled: false
|
127
|
-
|
128
|
-
Metrics/BlockNesting:
|
129
|
-
Enabled: false
|
130
|
-
|
131
|
-
Metrics/ClassLength:
|
132
|
-
Enabled: false
|
133
|
-
|
134
|
-
Metrics/ModuleLength:
|
135
|
-
Enabled: false
|
136
|
-
|
137
|
-
Metrics/CyclomaticComplexity:
|
138
|
-
Enabled: false
|
139
|
-
|
140
|
-
Metrics/LineLength:
|
141
|
-
Enabled: false
|
142
|
-
|
143
|
-
Metrics/MethodLength:
|
144
|
-
Enabled: false
|
145
|
-
|
146
|
-
Metrics/ParameterLists:
|
147
|
-
Enabled: false
|
148
|
-
|
149
|
-
Metrics/PerceivedComplexity:
|
150
|
-
Enabled: false
|
4
|
+
inherit_from: .rubocop_todo.yml
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
Metrics/LineLength:
|
2
|
+
Enabled: true
|
3
|
+
Max: 160
|
4
|
+
|
5
|
+
Rails/FilePath:
|
6
|
+
Enabled: false
|
7
|
+
|
8
|
+
RSpec/AnyInstance:
|
9
|
+
Enabled: false
|
10
|
+
|
11
|
+
RSpec/ContextWording:
|
12
|
+
Enabled: false
|
13
|
+
|
14
|
+
RSpec/DescribeClass:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
RSpec/InstanceVariable:
|
18
|
+
Enabled: false
|
19
|
+
|
20
|
+
RSpec/MessageSpies:
|
21
|
+
Enabled: false
|
22
|
+
|
23
|
+
RSpec/MultipleExpectations:
|
24
|
+
Enabled: false
|
25
|
+
|
26
|
+
RSpec/NamedSubject:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
RSpec/NestedGroups:
|
30
|
+
Enabled: false
|
31
|
+
|
32
|
+
Style/NestedParenthesizedCalls:
|
33
|
+
Enabled: false
|
34
|
+
|
35
|
+
RSpec/VerifiedDoubles:
|
36
|
+
Enabled: false
|
37
|
+
|
38
|
+
Style/ClassAndModuleChildren:
|
39
|
+
Enabled: false
|
40
|
+
|
41
|
+
Style/GuardClause:
|
42
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -1,13 +1,35 @@
|
|
1
1
|
## Unreleased
|
2
2
|
|
3
|
-
|
4
|
-
of the `Spree::AuthenticationMethod.providers_options` class method. This is populated using
|
5
|
-
the `Spree::SocialConfig#providers` Hash.
|
6
|
-
* Use the install generator to import the solidus social initializer into your app.
|
7
|
-
Please run `bundle exec rails g solidus_social:install` in order to upgrade.
|
3
|
+
## v1.3.0
|
8
4
|
|
9
|
-
|
5
|
+
- Migrated factories from FactoryGirl to FactoryBot
|
6
|
+
- Add support for Solidus 2.4+
|
7
|
+
- Reduced compatible versions of `solidus_core` to 2.x
|
8
|
+
- Removed the deprecated `icon:` argument from admin buttons
|
9
|
+
- Fixed an issue when using Safari to authenticate
|
10
|
+
- `Spree::UserRegistrationsController` and `Spree.user_class` are now decorated by
|
11
|
+
prepending modules in the `SolidusSocial::Spree` namespace instead of using `class_eval`
|
12
|
+
- Development of the extension is not relying on `solidus_dev_support` and CircleCI
|
13
|
+
- Moved the Facebook strategy patch to it's own prepended module
|
10
14
|
|
11
|
-
|
12
|
-
|
13
|
-
|
15
|
+
## v1.2.0
|
16
|
+
|
17
|
+
- Switched to using the install generator to import the solidus social
|
18
|
+
initializer into apps. **Please run `bin/rails generate solidus_social:install`
|
19
|
+
in order to upgrade.**
|
20
|
+
- Removed the `SolidusSocial::OAUTH_PROVIDERS` constant in favour of
|
21
|
+
the `Spree::AuthenticationMethod.providers_options` class
|
22
|
+
method. This is populated using the `Spree::SocialConfig#providers` Hash.
|
23
|
+
- Added support for Rails 5.1.
|
24
|
+
- Added Italian translations
|
25
|
+
|
26
|
+
## v1.1.0
|
27
|
+
|
28
|
+
- Added support for Solidus 2/Rails 5
|
29
|
+
- Bugfixes
|
30
|
+
|
31
|
+
## v1.0.0
|
32
|
+
|
33
|
+
- Renamed SpreeSocial to SolidusSocial
|
34
|
+
- Relaxed versions to support solidus 1.0+
|
35
|
+
- Port of https://github.com/DynamoMTL/spree_social's solidus branch
|
data/Gemfile
CHANGED
@@ -1,29 +1,30 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
4
5
|
|
5
6
|
branch = ENV.fetch('SOLIDUS_BRANCH', 'master')
|
6
|
-
gem
|
7
|
+
gem 'solidus', github: 'solidusio/solidus', branch: branch
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
gem 'ffaker'
|
13
|
-
end
|
14
|
-
|
15
|
-
# hack for broken bundler dependency resolution
|
16
|
-
if branch == 'master' || branch >= "v2.3"
|
17
|
-
gem 'rails', '~> 5.1.0'
|
18
|
-
elsif branch >= "v2.0"
|
19
|
-
gem 'rails', '~> 5.0.0'
|
20
|
-
end
|
9
|
+
# Needed to help Bundler figure out how to resolve dependencies,
|
10
|
+
# otherwise it takes forever to resolve them.
|
11
|
+
# See https://github.com/bundler/bundler/issues/6677
|
12
|
+
gem 'rails', '>0.a'
|
21
13
|
|
22
|
-
|
23
|
-
gem '
|
14
|
+
# Provides basic authentication functionality for testing parts of your engine
|
15
|
+
gem 'solidus_auth_devise'
|
24
16
|
|
25
|
-
|
26
|
-
|
17
|
+
case ENV['DB']
|
18
|
+
when 'mysql'
|
19
|
+
gem 'mysql2'
|
20
|
+
when 'postgresql'
|
21
|
+
gem 'pg'
|
22
|
+
else
|
23
|
+
gem 'sqlite3'
|
27
24
|
end
|
28
25
|
|
29
26
|
gemspec
|
27
|
+
|
28
|
+
# Use a local Gemfile to include development dependencies that might not be
|
29
|
+
# relevant for the project or for other contributors, e.g.: `gem 'pry-debug'`.
|
30
|
+
eval_gemfile 'Gemfile-local' if File.exist? 'Gemfile-local'
|
data/{LICENSE.md → LICENSE}
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2014 John Dyer and other contributors
|
1
|
+
Copyright (c) 2014-2020 John Dyer and other contributors
|
2
2
|
All rights reserved.
|
3
3
|
|
4
4
|
Redistribution and use in source and binary forms, with or without modification,
|
@@ -9,7 +9,7 @@ are permitted provided that the following conditions are met:
|
|
9
9
|
* Redistributions in binary form must reproduce the above copyright notice,
|
10
10
|
this list of conditions and the following disclaimer in the documentation
|
11
11
|
and/or other materials provided with the distribution.
|
12
|
-
* Neither the name
|
12
|
+
* Neither the name Solidus nor the names of its contributors may be used to
|
13
13
|
endorse or promote products derived from this software without specific
|
14
14
|
prior written permission.
|
15
15
|
|
data/README.md
CHANGED
@@ -1,25 +1,28 @@
|
|
1
|
-
|
1
|
+
SolidusSocial
|
2
|
+
=============
|
2
3
|
|
3
|
-
[![
|
4
|
+
[![CircleCI](https://circleci.com/gh/solidusio-contrib/solidus_social.svg?style=svg)](https://circleci.com/gh/solidusio-contrib/solidus_social)
|
4
5
|
[![Code Climate](https://codeclimate.com/github/solidusio-contrib/solidus_social/badges/gpa.svg)](https://codeclimate.com/github/solidusio-contrib/solidus_social)
|
5
6
|
|
6
7
|
Social login support for Solidus. Solidus Social handles authorization, account
|
7
8
|
creation and association through third-party services. Currently Twitter,
|
8
9
|
Facebook, Github, Google OAuth2, and Amazon are available out of the box.
|
9
10
|
|
10
|
-
|
11
|
+
Installation
|
12
|
+
------------
|
11
13
|
|
12
|
-
Add
|
14
|
+
Add solidus_social to your Gemfile:
|
13
15
|
|
14
16
|
```ruby
|
15
17
|
gem 'solidus_social'
|
16
18
|
```
|
17
19
|
|
18
|
-
|
20
|
+
Bundle your dependencies and run the installation generator:
|
19
21
|
|
20
|
-
```
|
21
|
-
|
22
|
-
|
22
|
+
```shell
|
23
|
+
bundle
|
24
|
+
bundle exec rails g solidus_social:install
|
25
|
+
bundle exec rails db:migrate
|
23
26
|
```
|
24
27
|
|
25
28
|
This will install a new initializer `config/initializers/solidus_social.rb` into
|
@@ -29,7 +32,8 @@ Optional: By default the login path will be '/users/auth/:provider'. If you
|
|
29
32
|
want something else, configure it in `config/initializers/solidus_social.rb`.
|
30
33
|
|
31
34
|
|
32
|
-
|
35
|
+
Using OAuth Sources
|
36
|
+
-------------------
|
33
37
|
|
34
38
|
Login as an admin user and navigate to Configuration > Social Authentication Methods
|
35
39
|
|
@@ -37,7 +41,8 @@ Click "New Authentication Method" and choose one of your configured providers.
|
|
37
41
|
|
38
42
|
**You MUST restart your application after configuring or updating an authentication method.**
|
39
43
|
|
40
|
-
|
44
|
+
Registering Your Application
|
45
|
+
----------------------------
|
41
46
|
|
42
47
|
Facebook, Twitter, Github, Google OAuth2, and Amazon are supported out of the
|
43
48
|
box but, you will need to register your application with each of the sites you
|
@@ -98,8 +103,14 @@ Make sure you specifity the right IP address.
|
|
98
103
|
> The app console is available at [https://login.amazon.com/manageApps](https://login.amazon.com/manageApps)
|
99
104
|
|
100
105
|
### Google OAuth2
|
106
|
+
[Google / APIs / Credentials/ Create Credential](https://console.developers.google.com/)
|
101
107
|
|
102
|
-
|
108
|
+
1. In the APIs and Services dashboard, visit 'Credentials' on the side, then select 'Create Credentials' and 'Oauth client ID'.
|
109
|
+
2. Name the Application, select "Web Application" as a type.
|
110
|
+
3. Under "Authorized redirect URIs", add your site (example:
|
111
|
+
`http://localhost:3000/users/auth/google_oauth2/callback`)
|
112
|
+
|
113
|
+
> More info: [https://developers.google.com/identity/protocols/OAuth2](https://developers.google.com/identity/protocols/OAuth2)
|
103
114
|
|
104
115
|
### Other OAuth Providers
|
105
116
|
|
@@ -134,14 +145,45 @@ strategy][12] for them. (If there isn't, you can [write one][13].)
|
|
134
145
|
different font icons or classic background images, without having to
|
135
146
|
override views.
|
136
147
|
|
137
|
-
|
148
|
+
Documentation
|
149
|
+
-------------
|
138
150
|
|
139
151
|
API documentation is available [on RubyDoc.info][15].
|
140
152
|
|
141
|
-
|
153
|
+
Contributing
|
154
|
+
------------
|
142
155
|
|
143
156
|
See corresponding [guidelines][11].
|
144
157
|
|
158
|
+
Testing
|
159
|
+
-------
|
160
|
+
|
161
|
+
First bundle your dependencies, then run `rake`. `rake` will default to building the dummy app if it does not exist, then it will run specs, and [Rubocop](https://github.com/bbatsov/rubocop) static code analysis. The dummy app can be regenerated by using `rake test_app`.
|
162
|
+
|
163
|
+
```shell
|
164
|
+
bundle
|
165
|
+
bin/rake
|
166
|
+
```
|
167
|
+
|
168
|
+
When testing your application's integration with this extension you may use its factories.
|
169
|
+
Simply add this require statement to your spec_helper:
|
170
|
+
|
171
|
+
```ruby
|
172
|
+
require 'solidus_social/factories'
|
173
|
+
```
|
174
|
+
|
175
|
+
Releasing
|
176
|
+
---------
|
177
|
+
|
178
|
+
Your new extension version can be released using `gem-release` like this:
|
179
|
+
|
180
|
+
```shell
|
181
|
+
bundle exec gem bump -v VERSION --tag --push --remote upstream && gem release
|
182
|
+
```
|
183
|
+
|
184
|
+
License
|
185
|
+
-------
|
186
|
+
|
145
187
|
Copyright (c) 2014 [John Dyer][7] and [contributors][8], released under the [New BSD License][9]
|
146
188
|
|
147
189
|
[1]: https://github.com/spree/spree
|
@@ -152,7 +194,7 @@ Copyright (c) 2014 [John Dyer][7] and [contributors][8], released under the [New
|
|
152
194
|
[6]: https://github.com/solidusio-contrib/solidus_social/issues
|
153
195
|
[7]: https://github.com/LBRapid
|
154
196
|
[8]: https://github.com/solidusio-contrib/solidus_social/graphs/contributors
|
155
|
-
[9]: https://github.com/solidusio-contrib/solidus_social/blob/master/LICENSE
|
197
|
+
[9]: https://github.com/solidusio-contrib/solidus_social/blob/master/LICENSE
|
156
198
|
[10]: https://login.amazon.com/manageApps
|
157
199
|
[11]: https://github.com/solidusio-contrib/solidus_social/blob/master/CONTRIBUTING.md
|
158
200
|
[12]: https://github.com/intridea/omniauth/wiki/List-of-Strategies
|