omniauth-cognitiveclass 0.4.1
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/.editorconfig +23 -0
- data/.env.example +5 -0
- data/.gitignore +111 -0
- data/.rubocop.yml +89 -0
- data/CHANGELOG.md +11 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +82 -0
- data/LICENSE.md +19 -0
- data/Makefile +20 -0
- data/README.md +52 -0
- data/VERSION +1 -0
- data/lib/omniauth/strategies/cognitive_class.rb +60 -0
- data/lib/omniauth_cognitive_class.rb +1 -0
- data/omniauth-cognitiveclass.gemspec +44 -0
- metadata +148 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f25927e30eed937ef8d492234120de5e59be1a88
|
4
|
+
data.tar.gz: 4fccf0f731e16146217165ab2ffdd74376c4c76d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 433bd16ace6add06618d5691d5483f4fc990b99b3b3552c63a473774571ca7a60543f4f768c54eebe49462fb05bd562b92e1df17c635baf7aa648857f553c08e
|
7
|
+
data.tar.gz: a7857c2a55acbd0b7692a44a068758f28372f09385db8016963060b92523095fbd0aa62bad06c731217e4e0f584a8ff2e791d66e6eb14c424d3a6d61978f42b7
|
data/.editorconfig
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# EditorConfig is awesome: http://EditorConfig.org
|
2
|
+
|
3
|
+
# top-most EditorConfig file
|
4
|
+
root = true
|
5
|
+
|
6
|
+
# Unix-style newlines with a newline ending every file
|
7
|
+
[*]
|
8
|
+
charset = utf-8
|
9
|
+
indent_size = 2
|
10
|
+
indent_style = space
|
11
|
+
tab_width = 2
|
12
|
+
|
13
|
+
end_of_line = lf # Not supported in RubyMine
|
14
|
+
insert_final_newline = true # Not supported in RubyMine
|
15
|
+
trim_trailing_whitespace = true # Not supported in RubyMine
|
16
|
+
|
17
|
+
[Makefile]
|
18
|
+
indent_style = tab
|
19
|
+
indent_size = 8
|
20
|
+
|
21
|
+
[*.{py,js,css}]
|
22
|
+
indent_size = 4
|
23
|
+
tab_width = 4
|
data/.env.example
ADDED
data/.gitignore
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
.env
|
2
|
+
.idea
|
3
|
+
|
4
|
+
# Created by https://www.gitignore.io/api/rubymine,ruby
|
5
|
+
|
6
|
+
### RubyMine ###
|
7
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
8
|
+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
9
|
+
|
10
|
+
# User-specific stuff:
|
11
|
+
.idea/workspace.xml
|
12
|
+
.idea/tasks.xml
|
13
|
+
|
14
|
+
# Sensitive or high-churn files:
|
15
|
+
.idea/dataSources/
|
16
|
+
.idea/dataSources.ids
|
17
|
+
.idea/dataSources.xml
|
18
|
+
.idea/dataSources.local.xml
|
19
|
+
.idea/sqlDataSources.xml
|
20
|
+
.idea/dynamic.xml
|
21
|
+
.idea/uiDesigner.xml
|
22
|
+
|
23
|
+
# Gradle:
|
24
|
+
.idea/gradle.xml
|
25
|
+
.idea/libraries
|
26
|
+
|
27
|
+
# Mongo Explorer plugin:
|
28
|
+
.idea/mongoSettings.xml
|
29
|
+
|
30
|
+
## File-based project format:
|
31
|
+
*.iws
|
32
|
+
|
33
|
+
## Plugin-specific files:
|
34
|
+
|
35
|
+
# IntelliJ
|
36
|
+
/out/
|
37
|
+
|
38
|
+
# mpeltonen/sbt-idea plugin
|
39
|
+
.idea_modules/
|
40
|
+
|
41
|
+
# JIRA plugin
|
42
|
+
atlassian-ide-plugin.xml
|
43
|
+
|
44
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
45
|
+
com_crashlytics_export_strings.xml
|
46
|
+
crashlytics.properties
|
47
|
+
crashlytics-build.properties
|
48
|
+
fabric.properties
|
49
|
+
|
50
|
+
### RubyMine Patch ###
|
51
|
+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
52
|
+
|
53
|
+
# *.iml
|
54
|
+
# modules.xml
|
55
|
+
# .idea/misc.xml
|
56
|
+
# *.ipr
|
57
|
+
|
58
|
+
|
59
|
+
### Ruby ###
|
60
|
+
*.gem
|
61
|
+
*.rbc
|
62
|
+
/.config
|
63
|
+
/coverage/
|
64
|
+
/InstalledFiles
|
65
|
+
/pkg/
|
66
|
+
/spec/reports/
|
67
|
+
/spec/examples.txt
|
68
|
+
/test/tmp/
|
69
|
+
/test/version_tmp/
|
70
|
+
/tmp/
|
71
|
+
|
72
|
+
# Used by dotenv library to load environment variables.
|
73
|
+
# .env
|
74
|
+
|
75
|
+
## Specific to RubyMotion:
|
76
|
+
.dat*
|
77
|
+
.repl_history
|
78
|
+
build/
|
79
|
+
*.bridgesupport
|
80
|
+
build-iPhoneOS/
|
81
|
+
build-iPhoneSimulator/
|
82
|
+
|
83
|
+
## Specific to RubyMotion (use of CocoaPods):
|
84
|
+
#
|
85
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
86
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
87
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
88
|
+
#
|
89
|
+
# vendor/Pods/
|
90
|
+
|
91
|
+
## Documentation cache and generated files:
|
92
|
+
/.yardoc/
|
93
|
+
/_yardoc/
|
94
|
+
/doc/
|
95
|
+
/rdoc/
|
96
|
+
|
97
|
+
## Environment normalization:
|
98
|
+
/.bundle/
|
99
|
+
/vendor/bundle
|
100
|
+
/lib/bundler/man/
|
101
|
+
|
102
|
+
# for a library or gem, you might want to ignore these files since the code is
|
103
|
+
# intended to run in multiple environments; otherwise, check them in:
|
104
|
+
# Gemfile.lock
|
105
|
+
# .ruby-version
|
106
|
+
# .ruby-gemset
|
107
|
+
|
108
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
109
|
+
.rvmrc
|
110
|
+
|
111
|
+
# End of https://www.gitignore.io/api/rubymine,ruby
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
# inherit_from: ../.rubocop.yml
|
2
|
+
|
3
|
+
# Common configuration.
|
4
|
+
AllCops:
|
5
|
+
# Include gemspec and Rakefile
|
6
|
+
Include:
|
7
|
+
- '**/Rakefile'
|
8
|
+
- '**/*.jbuilder'
|
9
|
+
Exclude:
|
10
|
+
- 'bin/rails'
|
11
|
+
- 'bin/rake'
|
12
|
+
- 'bin/spring'
|
13
|
+
- 'config/initializers/*'
|
14
|
+
# - 'config/routes.rb'
|
15
|
+
- 'db/migrate/**/*'
|
16
|
+
- 'db/schema.rb'
|
17
|
+
- 'secure_rails'
|
18
|
+
- 'test/**/*'
|
19
|
+
- 'tmp/**/*'
|
20
|
+
|
21
|
+
Rails:
|
22
|
+
Enabled: true
|
23
|
+
|
24
|
+
# # Not compatible with Rails < 4
|
25
|
+
# ActionFilter:
|
26
|
+
# Enabled: false
|
27
|
+
|
28
|
+
AlignParameters:
|
29
|
+
EnforcedStyle: with_fixed_indentation
|
30
|
+
|
31
|
+
ClassLength:
|
32
|
+
Max: 300
|
33
|
+
|
34
|
+
# Crashes in Rubocop 0.21.0
|
35
|
+
Delegate:
|
36
|
+
Enabled: true
|
37
|
+
|
38
|
+
Encoding:
|
39
|
+
Enabled: false
|
40
|
+
|
41
|
+
# Not compatible with Rails < 4
|
42
|
+
# FindBy:
|
43
|
+
# Enabled: false
|
44
|
+
|
45
|
+
IndentHash:
|
46
|
+
EnforcedStyle: consistent
|
47
|
+
|
48
|
+
HasAndBelongsToMany:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
LineLength:
|
52
|
+
Max: 120
|
53
|
+
|
54
|
+
# Default 10
|
55
|
+
MethodLength:
|
56
|
+
Max: 30
|
57
|
+
|
58
|
+
# Default 15
|
59
|
+
Metrics/AbcSize:
|
60
|
+
Max: 30
|
61
|
+
|
62
|
+
StringLiterals:
|
63
|
+
EnforcedStyle: double_quotes
|
64
|
+
|
65
|
+
Style/AlignHash:
|
66
|
+
# Alignment of entries using colon as separator. Valid values are:
|
67
|
+
#
|
68
|
+
# key - left alignment of keys
|
69
|
+
# a: 0
|
70
|
+
# bb: 1
|
71
|
+
# separator - alignment of colons, keys are right aligned
|
72
|
+
# a: 0
|
73
|
+
# bb: 1
|
74
|
+
# table - left alignment of keys and values
|
75
|
+
# a: 0
|
76
|
+
# bb: 1
|
77
|
+
EnforcedColonStyle: table
|
78
|
+
|
79
|
+
Style/AsciiComments:
|
80
|
+
Enabled: false
|
81
|
+
|
82
|
+
Style/Documentation:
|
83
|
+
Enabled: false
|
84
|
+
|
85
|
+
Style/SpaceBeforeFirstArg:
|
86
|
+
Enabled: false
|
87
|
+
|
88
|
+
Style/CommandLiteral:
|
89
|
+
EnforcedStyle: percent_x
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Change Log
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
5
|
+
and this project adheres to [Semantic Versioning](http://semver.org/).
|
6
|
+
|
7
|
+
## [Unreleased]
|
8
|
+
|
9
|
+
## [0.4.0] - 2017-05-16
|
10
|
+
### Changed
|
11
|
+
- Gem renamed to `omniauth-cognitiveclass` and open sourced
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
omniauth-cognitiveclass (0.4.1)
|
5
|
+
omniauth-oauth2 (~> 1.4)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
ast (2.3.0)
|
11
|
+
bundler-audit (0.5.0)
|
12
|
+
bundler (~> 1.2)
|
13
|
+
thor (~> 0.18)
|
14
|
+
diff-lcs (1.2.5)
|
15
|
+
docile (1.1.5)
|
16
|
+
faraday (0.11.0)
|
17
|
+
multipart-post (>= 1.2, < 3)
|
18
|
+
hashie (3.5.5)
|
19
|
+
json (2.0.2)
|
20
|
+
jwt (1.5.6)
|
21
|
+
multi_json (1.12.1)
|
22
|
+
multi_xml (0.6.0)
|
23
|
+
multipart-post (2.0.0)
|
24
|
+
oauth2 (1.3.1)
|
25
|
+
faraday (>= 0.8, < 0.12)
|
26
|
+
jwt (~> 1.0)
|
27
|
+
multi_json (~> 1.3)
|
28
|
+
multi_xml (~> 0.5)
|
29
|
+
rack (>= 1.2, < 3)
|
30
|
+
omniauth (1.3.2)
|
31
|
+
hashie (>= 1.2, < 4)
|
32
|
+
rack (>= 1.0, < 3)
|
33
|
+
omniauth-oauth2 (1.4.0)
|
34
|
+
oauth2 (~> 1.0)
|
35
|
+
omniauth (~> 1.2)
|
36
|
+
parser (2.3.3.1)
|
37
|
+
ast (~> 2.2)
|
38
|
+
powerpack (0.1.1)
|
39
|
+
rack (2.0.1)
|
40
|
+
rainbow (2.2.1)
|
41
|
+
rake (12.0.0)
|
42
|
+
rspec (3.5.0)
|
43
|
+
rspec-core (~> 3.5.0)
|
44
|
+
rspec-expectations (~> 3.5.0)
|
45
|
+
rspec-mocks (~> 3.5.0)
|
46
|
+
rspec-core (3.5.4)
|
47
|
+
rspec-support (~> 3.5.0)
|
48
|
+
rspec-expectations (3.5.0)
|
49
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
50
|
+
rspec-support (~> 3.5.0)
|
51
|
+
rspec-mocks (3.5.0)
|
52
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
53
|
+
rspec-support (~> 3.5.0)
|
54
|
+
rspec-support (3.5.0)
|
55
|
+
rubocop (0.46.0)
|
56
|
+
parser (>= 2.3.1.1, < 3.0)
|
57
|
+
powerpack (~> 0.1)
|
58
|
+
rainbow (>= 1.99.1, < 3.0)
|
59
|
+
ruby-progressbar (~> 1.7)
|
60
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
61
|
+
ruby-progressbar (1.8.1)
|
62
|
+
simplecov (0.12.0)
|
63
|
+
docile (~> 1.1.0)
|
64
|
+
json (>= 1.8, < 3)
|
65
|
+
simplecov-html (~> 0.10.0)
|
66
|
+
simplecov-html (0.10.0)
|
67
|
+
thor (0.19.4)
|
68
|
+
unicode-display_width (1.1.2)
|
69
|
+
|
70
|
+
PLATFORMS
|
71
|
+
ruby
|
72
|
+
|
73
|
+
DEPENDENCIES
|
74
|
+
bundler-audit (~> 0.5)
|
75
|
+
omniauth-cognitiveclass!
|
76
|
+
rake (~> 12.0)
|
77
|
+
rspec (~> 3.4)
|
78
|
+
rubocop (~> 0.46)
|
79
|
+
simplecov
|
80
|
+
|
81
|
+
BUNDLED WITH
|
82
|
+
1.13.6
|
data/LICENSE.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
(c) Copyright IBM Corporation 2017
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
11
|
+
all copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
THE SOFTWARE.
|
data/Makefile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
.PHONY: build clean precommit push
|
2
|
+
|
3
|
+
VERSION:=$(shell cat VERSION)
|
4
|
+
|
5
|
+
build: precommit tag
|
6
|
+
gem build *.gemspec
|
7
|
+
|
8
|
+
clean:
|
9
|
+
rm *.gem
|
10
|
+
|
11
|
+
push: build
|
12
|
+
gem push *-$(VERSION).gem
|
13
|
+
make clean
|
14
|
+
|
15
|
+
precommit:
|
16
|
+
-rubocop -Da
|
17
|
+
bundle-audit check --update
|
18
|
+
|
19
|
+
tag:
|
20
|
+
git tag -f v$(VERSION)
|
data/README.md
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# omniauth-cognitiveclass
|
2
|
+
|
3
|
+
`omniauth-cognitiveclass` is a strategy (plugin or extension) for OmniAuth,
|
4
|
+
which is a Ruby authentication library. OmniAuth integrates transparently
|
5
|
+
with Devise, a popular Rails authentication solution.
|
6
|
+
|
7
|
+
[Cognitive Class](https://courses.cognitiveclass.ai/) is also known as Big
|
8
|
+
Data University. It's based on the OpenEdx platform
|
9
|
+
|
10
|
+
## Usage with Devise
|
11
|
+
|
12
|
+
Add this to your Gemfile:
|
13
|
+
|
14
|
+
```ruby
|
15
|
+
gem "omniauth-cognitiveclass", "~> 0.4.0"
|
16
|
+
```
|
17
|
+
|
18
|
+
Install the gem:
|
19
|
+
|
20
|
+
```bash
|
21
|
+
bundle install
|
22
|
+
```
|
23
|
+
|
24
|
+
Define these environment variables for your Ruby application:
|
25
|
+
|
26
|
+
```bash
|
27
|
+
export COGNITIVE_SITE="https://courses.cognitiveclass.ai/"
|
28
|
+
export COGNITIVE_AUTHORIZE_URL="https://courses.cognitiveclass.ai/oauth2/authorize"
|
29
|
+
export COGNITIVE_TOKEN_URL="https://courses.cognitiveclass.ai/oauth2/access_token"
|
30
|
+
|
31
|
+
export COGNITIVE_ID="..."
|
32
|
+
export COGNITIVE_SECRET="..."
|
33
|
+
|
34
|
+
export MY_ORIGIN="http://example.com:3000"
|
35
|
+
```
|
36
|
+
|
37
|
+
Add this to your `config/initializers/devise.rb`:
|
38
|
+
|
39
|
+
```ruby
|
40
|
+
callback_url = "#{ENV.fetch('MY_ORIGIN')}}/users/auth/bdu/callback"
|
41
|
+
|
42
|
+
config.omniauth :cognitive_class, ENV.fetch("COGNITIVE_ID"), ENV.fetch("COGNITIVE_SECRET"),
|
43
|
+
callback_url: callback_url,
|
44
|
+
provider_ignores_state: true
|
45
|
+
```
|
46
|
+
|
47
|
+
Follow the other steps from the [Devise OmniAuth Guide](https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview).
|
48
|
+
|
49
|
+
## See Also
|
50
|
+
|
51
|
+
* <https://github.com/omniauth/omniauth/wiki>
|
52
|
+
* <https://github.com/intridea/omniauth-oauth2>
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.4.1
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require "omniauth-oauth2"
|
2
|
+
|
3
|
+
module OmniAuth
|
4
|
+
module Strategies
|
5
|
+
class CognitiveClass < OmniAuth::Strategies::OAuth2
|
6
|
+
# Give your strategy a name.
|
7
|
+
option :name, "cognitive_class"
|
8
|
+
|
9
|
+
# This is where you pass the options you would pass when
|
10
|
+
# initializing your consumer from the OAuth gem.
|
11
|
+
option :client_options,
|
12
|
+
site: "https://courses.bigdatauniversity.com/",
|
13
|
+
authorize_url: "https://courses.bigdatauniversity.com/oauth2/authorize",
|
14
|
+
token_url: "https://courses.bigdatauniversity.com/oauth2/access_token"
|
15
|
+
|
16
|
+
option :authorize_params, scope: "openid profile email"
|
17
|
+
|
18
|
+
# https://github.com/intridea/omniauth-oauth2/issues/32
|
19
|
+
option :provider_ignores_state, true
|
20
|
+
|
21
|
+
# These are called after authentication has succeeded. If
|
22
|
+
# possible, you should try to set the UID without making
|
23
|
+
# additional calls (if the user id is returned with the token
|
24
|
+
# or as a URI parameter). This may not be possible with all
|
25
|
+
# providers.
|
26
|
+
|
27
|
+
# Raw info: { "family_name"=>"...",
|
28
|
+
# "sub"=>"1ea...c61",
|
29
|
+
# "locale"=>"en",
|
30
|
+
# "preferred_username"=>"...",
|
31
|
+
# "given_name"=>"...", "email"=>"...",
|
32
|
+
# "name"=>"..."}
|
33
|
+
|
34
|
+
uid { raw_info["sub"] }
|
35
|
+
|
36
|
+
info do
|
37
|
+
{
|
38
|
+
email: raw_info["email"],
|
39
|
+
family_name: raw_info["family_name"],
|
40
|
+
given_name: raw_info["given_name"],
|
41
|
+
locale: raw_info["locale"],
|
42
|
+
name: raw_info["name"],
|
43
|
+
preferred_username: raw_info["preferred_username"]
|
44
|
+
}
|
45
|
+
end
|
46
|
+
|
47
|
+
extra do
|
48
|
+
{
|
49
|
+
"raw_info" => raw_info
|
50
|
+
}
|
51
|
+
end
|
52
|
+
|
53
|
+
def raw_info
|
54
|
+
access_token.options[:mode] = :query
|
55
|
+
user_headers = { headers: { "Authorization" => "Bearer #{access_token.token}" } }
|
56
|
+
@raw_info ||= access_token.get("/oauth2/user_info", user_headers).parsed
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require "omniauth/strategies/cognitive_class"
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "omniauth-cognitiveclass"
|
7
|
+
spec.version = File.open("VERSION", "r").read.strip
|
8
|
+
spec.authors = ["Leons Petrazickis"]
|
9
|
+
spec.email = ["support@cognitiveclass.ai"]
|
10
|
+
spec.summary = "CognitiveClass strategy for the Omniauth Oauth2 Ruby library "
|
11
|
+
spec.description = "`omniauth-cognitiveclass` is a strategy (plugin or extension) for OmniAuth,
|
12
|
+
which is a Ruby authentication library. OmniAuth integrates transparently
|
13
|
+
with Devise, a popular Rails authentication solution.
|
14
|
+
|
15
|
+
[Cognitive Class](https://courses.cognitiveclass.ai/) is also known as Big
|
16
|
+
Data University. It's based on the OpenEdx platform"
|
17
|
+
spec.homepage = "https://github.com/cognitiveclass/omniauth-cognitiveclass"
|
18
|
+
spec.license = "MIT"
|
19
|
+
|
20
|
+
# TODO: Remove dependency on git
|
21
|
+
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
22
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
23
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
24
|
+
spec.require_paths = ["lib"]
|
25
|
+
|
26
|
+
# To install the gem locally:
|
27
|
+
# bundle exec rake install
|
28
|
+
spec.add_development_dependency "bundler-audit", "~> 0.5"
|
29
|
+
|
30
|
+
spec.add_development_dependency "rake", "~> 12.0"
|
31
|
+
|
32
|
+
# Unit tests
|
33
|
+
spec.add_development_dependency "rspec", "~> 3.4"
|
34
|
+
|
35
|
+
# Test coverage report
|
36
|
+
spec.add_development_dependency "simplecov", "~> 0.12"
|
37
|
+
|
38
|
+
# Automatic Ruby code style checking tool. Aims to enforce the community-driven
|
39
|
+
# Ruby Style Guide.
|
40
|
+
# https://github.com/bbatsov/rubocop
|
41
|
+
spec.add_development_dependency "rubocop", "~> 0.46"
|
42
|
+
|
43
|
+
spec.add_runtime_dependency "omniauth-oauth2", "~> 1.4"
|
44
|
+
end
|
metadata
ADDED
@@ -0,0 +1,148 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: omniauth-cognitiveclass
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Leons Petrazickis
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-05-16 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler-audit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.5'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.5'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '12.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '12.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.4'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.4'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: simplecov
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.12'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.12'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.46'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.46'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: omniauth-oauth2
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.4'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.4'
|
97
|
+
description: |-
|
98
|
+
`omniauth-cognitiveclass` is a strategy (plugin or extension) for OmniAuth,
|
99
|
+
which is a Ruby authentication library. OmniAuth integrates transparently
|
100
|
+
with Devise, a popular Rails authentication solution.
|
101
|
+
|
102
|
+
[Cognitive Class](https://courses.cognitiveclass.ai/) is also known as Big
|
103
|
+
Data University. It's based on the OpenEdx platform
|
104
|
+
email:
|
105
|
+
- support@cognitiveclass.ai
|
106
|
+
executables: []
|
107
|
+
extensions: []
|
108
|
+
extra_rdoc_files: []
|
109
|
+
files:
|
110
|
+
- ".editorconfig"
|
111
|
+
- ".env.example"
|
112
|
+
- ".gitignore"
|
113
|
+
- ".rubocop.yml"
|
114
|
+
- CHANGELOG.md
|
115
|
+
- Gemfile
|
116
|
+
- Gemfile.lock
|
117
|
+
- LICENSE.md
|
118
|
+
- Makefile
|
119
|
+
- README.md
|
120
|
+
- VERSION
|
121
|
+
- lib/omniauth/strategies/cognitive_class.rb
|
122
|
+
- lib/omniauth_cognitive_class.rb
|
123
|
+
- omniauth-cognitiveclass.gemspec
|
124
|
+
homepage: https://github.com/cognitiveclass/omniauth-cognitiveclass
|
125
|
+
licenses:
|
126
|
+
- MIT
|
127
|
+
metadata: {}
|
128
|
+
post_install_message:
|
129
|
+
rdoc_options: []
|
130
|
+
require_paths:
|
131
|
+
- lib
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - ">="
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
requirements: []
|
143
|
+
rubyforge_project:
|
144
|
+
rubygems_version: 2.5.2
|
145
|
+
signing_key:
|
146
|
+
specification_version: 4
|
147
|
+
summary: CognitiveClass strategy for the Omniauth Oauth2 Ruby library
|
148
|
+
test_files: []
|