solidus_social 1.2.0 → 1.3.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 +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
|
-
[](https://circleci.com/gh/solidusio-contrib/solidus_social)
|
4
5
|
[](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
|