oxd-ruby 0.1.3
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/.gitignore +9 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +116 -0
- data/Rakefile +7 -0
- data/demosite/.gitignore +17 -0
- data/demosite/Gemfile +49 -0
- data/demosite/Gemfile.lock +190 -0
- data/demosite/README.md +172 -0
- data/demosite/Rakefile +6 -0
- data/demosite/app/assets/images/.keep +0 -0
- data/demosite/app/assets/javascripts/application.js +17 -0
- data/demosite/app/assets/javascripts/bootstrap.js.coffee +3 -0
- data/demosite/app/assets/stylesheets/application.css +16 -0
- data/demosite/app/assets/stylesheets/bootstrap_and_overrides.css +7 -0
- data/demosite/app/controllers/application_controller.rb +14 -0
- data/demosite/app/controllers/concerns/.keep +0 -0
- data/demosite/app/controllers/home_controller.rb +38 -0
- data/demosite/app/helpers/application_helper.rb +2 -0
- data/demosite/app/mailers/.keep +0 -0
- data/demosite/app/models/.keep +0 -0
- data/demosite/app/models/concerns/.keep +0 -0
- data/demosite/app/views/home/index.html.erb +127 -0
- data/demosite/app/views/layouts/application.html.erb +14 -0
- data/demosite/bin/bundle +3 -0
- data/demosite/bin/rails +9 -0
- data/demosite/bin/rake +9 -0
- data/demosite/bin/setup +29 -0
- data/demosite/bin/spring +15 -0
- data/demosite/config.ru +4 -0
- data/demosite/config/application.rb +26 -0
- data/demosite/config/boot.rb +3 -0
- data/demosite/config/database.yml +25 -0
- data/demosite/config/environment.rb +5 -0
- data/demosite/config/environments/development.rb +41 -0
- data/demosite/config/environments/production.rb +79 -0
- data/demosite/config/environments/test.rb +42 -0
- data/demosite/config/initializers/assets.rb +11 -0
- data/demosite/config/initializers/backtrace_silencers.rb +7 -0
- data/demosite/config/initializers/cookies_serializer.rb +3 -0
- data/demosite/config/initializers/filter_parameter_logging.rb +4 -0
- data/demosite/config/initializers/inflections.rb +16 -0
- data/demosite/config/initializers/mime_types.rb +4 -0
- data/demosite/config/initializers/oxd_config.rb +19 -0
- data/demosite/config/initializers/session_store.rb +3 -0
- data/demosite/config/initializers/wrap_parameters.rb +14 -0
- data/demosite/config/locales/en.bootstrap.yml +23 -0
- data/demosite/config/locales/en.yml +23 -0
- data/demosite/config/routes.rb +62 -0
- data/demosite/config/secrets.yml +22 -0
- data/demosite/db/seeds.rb +7 -0
- data/demosite/lib/assets/.keep +0 -0
- data/demosite/lib/tasks/.keep +0 -0
- data/demosite/log/.keep +0 -0
- data/demosite/public/404.html +67 -0
- data/demosite/public/422.html +67 -0
- data/demosite/public/500.html +66 -0
- data/demosite/public/favicon.ico +0 -0
- data/demosite/public/robots.txt +5 -0
- data/demosite/test/controllers/.keep +0 -0
- data/demosite/test/fixtures/.keep +0 -0
- data/demosite/test/helpers/.keep +0 -0
- data/demosite/test/integration/.keep +0 -0
- data/demosite/test/mailers/.keep +0 -0
- data/demosite/test/models/.keep +0 -0
- data/demosite/test/test_helper.rb +10 -0
- data/demosite/vendor/assets/javascripts/.keep +0 -0
- data/demosite/vendor/assets/stylesheets/.keep +0 -0
- data/lib/generators/oxd/config_generator.rb +22 -0
- data/lib/generators/oxd/templates/oxd_config.rb +19 -0
- data/lib/oxd-ruby.rb +11 -0
- data/lib/oxd/client_oxd_commands.rb +147 -0
- data/lib/oxd/config.rb +94 -0
- data/lib/oxd/oxd_connector.rb +133 -0
- data/lib/oxd/version.rb +4 -0
- data/oxd-ruby.gemspec +24 -0
- metadata +180 -0
data/lib/oxd/config.rb
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
require 'active_support/configurable'
|
|
2
|
+
|
|
3
|
+
# @author Inderpal Singh
|
|
4
|
+
# @note supports oxd-version 2.4.3
|
|
5
|
+
module Oxd
|
|
6
|
+
|
|
7
|
+
# Configures global settings for Oxd
|
|
8
|
+
# @yield config
|
|
9
|
+
# @example
|
|
10
|
+
# Oxd.configure do |config|
|
|
11
|
+
# config.oxd_host_ip = '127.0.0.1'
|
|
12
|
+
# end
|
|
13
|
+
def self.configure(&block)
|
|
14
|
+
@config ||= Oxd::Configuration.new
|
|
15
|
+
if block_given?
|
|
16
|
+
yield(@config)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Global settings for Oxd
|
|
21
|
+
def self.config
|
|
22
|
+
@config
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# This class holds all the information about the client and the OP metadata
|
|
26
|
+
class Configuration
|
|
27
|
+
include ActiveSupport::Configurable
|
|
28
|
+
config_accessor :oxd_host_ip
|
|
29
|
+
config_accessor :oxd_host_port
|
|
30
|
+
config_accessor :application_type
|
|
31
|
+
config_accessor :authorization_redirect_uri
|
|
32
|
+
config_accessor :redirect_uris
|
|
33
|
+
config_accessor :post_logout_redirect_uri
|
|
34
|
+
config_accessor :client_logout_uris
|
|
35
|
+
config_accessor :logout_redirect_uri
|
|
36
|
+
config_accessor :grant_types
|
|
37
|
+
config_accessor :acr_values
|
|
38
|
+
config_accessor :client_jwks_uri
|
|
39
|
+
config_accessor :client_token_endpoint_auth_method
|
|
40
|
+
config_accessor :client_request_uris
|
|
41
|
+
config_accessor :scope
|
|
42
|
+
config_accessor :contacts
|
|
43
|
+
config_accessor :response_types
|
|
44
|
+
config_accessor :oxd_id
|
|
45
|
+
|
|
46
|
+
# define param_name writer
|
|
47
|
+
def param_name
|
|
48
|
+
config.param_name.respond_to?(:call) ? config.param_name.call : config.param_name
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
writer, line = 'def param_name=(value); config.param_name = value; end', __LINE__
|
|
52
|
+
singleton_class.class_eval writer, __FILE__, line
|
|
53
|
+
class_eval writer, __FILE__, line
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
#[oxd]
|
|
57
|
+
# oxd_host_ip : the host is generally localhost as all communication are carried out between oxd-ruby and oxd server using sockets.
|
|
58
|
+
# oxd_host_port: the port is the one which is configured during the oxd deployment
|
|
59
|
+
|
|
60
|
+
#[client]
|
|
61
|
+
# application_type: the app_type is generally 'web' although 'native' can be used for native app
|
|
62
|
+
# authorization_redirect_uri: [REQUIRED] this is the primary redirect URL of the website or app
|
|
63
|
+
# redirect_uris: [OPTIONAL, LIST] other redirect uris that the website can use - given as comma seperated values.
|
|
64
|
+
# => the first one is always your primary uri set in authorization_redirect_uri
|
|
65
|
+
# post_logout_redirect_uri: [OPTIONAL] website's public uri to call upon logout
|
|
66
|
+
# client_logout_uris: [REQUIRED, LIST] logout uris of the client
|
|
67
|
+
# grant_types: [OPTIONAL, LIST] grant types to "authorization_code" or "refresh_token"
|
|
68
|
+
# acr_values: [OPTIONAL, LIST] the values are "basic" and "duo"
|
|
69
|
+
# client_jwks_uri: [OPTIONAL]
|
|
70
|
+
# client_token_endpoint_auth_method: [OPTIONAL]
|
|
71
|
+
# client_request_uris: [OPTIONAL]
|
|
72
|
+
# contacts: [OPTIONAL, LIST]
|
|
73
|
+
|
|
74
|
+
# default values for config
|
|
75
|
+
configure do |config|
|
|
76
|
+
config.oxd_host_ip = '127.0.0.1'
|
|
77
|
+
config.oxd_host_port = 8099
|
|
78
|
+
config.application_type = "web"
|
|
79
|
+
config.authorization_redirect_uri = "https://gluu.example.com/callback"
|
|
80
|
+
config.redirect_uris = ["https://gluu.example.com/callback","https://gluu.example.com/callback2"]
|
|
81
|
+
config.post_logout_redirect_uri = "https://gluu.example.com/logout"
|
|
82
|
+
config.client_logout_uris = ["https://gluu.example.com/callback"]
|
|
83
|
+
config.logout_redirect_uri = 'https://gluu.example.com/logout'
|
|
84
|
+
config.grant_types = []
|
|
85
|
+
config.acr_values = [ "basic" ]
|
|
86
|
+
config.client_jwks_uri = ""
|
|
87
|
+
config.client_token_endpoint_auth_method = ""
|
|
88
|
+
config.client_request_uris = []
|
|
89
|
+
config.scope = [ "openid", "profile" ]
|
|
90
|
+
config.contacts = ["example-email@gmail.com"]
|
|
91
|
+
config.response_types = ["code"]
|
|
92
|
+
config.oxd_id = ""
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
require 'socket'
|
|
2
|
+
require 'ipaddr'
|
|
3
|
+
|
|
4
|
+
# @author Inderpal Singh
|
|
5
|
+
# @note supports oxd-version 2.4.3
|
|
6
|
+
module Oxd
|
|
7
|
+
|
|
8
|
+
# A class which takes care of the socket communication with oxD Server.
|
|
9
|
+
class OxdConnector
|
|
10
|
+
|
|
11
|
+
# class constructor
|
|
12
|
+
def initialize
|
|
13
|
+
@command
|
|
14
|
+
@response_json
|
|
15
|
+
@response_object
|
|
16
|
+
@data = Hash.new
|
|
17
|
+
@params = Hash.new
|
|
18
|
+
@response_data = Hash.new
|
|
19
|
+
@configuration = Oxd.config
|
|
20
|
+
logger(:log_msg => "Problem with json data : authorization_redirect_uri can't be blank") if @configuration.authorization_redirect_uri.empty?
|
|
21
|
+
logger(:log_msg => "#{@configuration.oxd_host_ip} is not a valid IP address") if (IPAddr.new(@configuration.oxd_host_ip) rescue nil).nil?
|
|
22
|
+
logger(:log_msg => "#{@configuration.oxd_host_port} is not a valid port for socket. Port must be integer and between from 0 to 65535") if (!@configuration.oxd_host_port.is_a?(Integer) || (@configuration.oxd_host_port < 0 && @configuration.oxd_host_port > 65535))
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Checks the validity of command that is to be passed to oxd-server
|
|
26
|
+
def validate_command
|
|
27
|
+
command_types = ['get_authorization_url','update_site_registration', 'get_tokens_by_code','get_user_info', 'register_site', 'get_logout_uri','get_authorization_code']
|
|
28
|
+
if (!command_types.include?(@command))
|
|
29
|
+
logger(:log_msg => "Command: #{@command} does not exist! Exiting process.")
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# method to communicate with the oxD server
|
|
34
|
+
# @param request [JSON] representation of the JSON command string
|
|
35
|
+
# @param char_count [Integer] number of characters to read from response
|
|
36
|
+
# @return response from the oxD Server
|
|
37
|
+
def oxd_socket_request(request, char_count = 8192)
|
|
38
|
+
host = @configuration.oxd_host_ip # The web server
|
|
39
|
+
port = @configuration.oxd_host_port # Default HTTP port
|
|
40
|
+
|
|
41
|
+
if(!socket = TCPSocket.new(host, port) ) # Connect to Oxd server
|
|
42
|
+
logger(:log_msg => "Socket Error : Couldn't connect to socket ")
|
|
43
|
+
else
|
|
44
|
+
logger(:log_msg => "Client: socket::socket_connect connected : #{request}", :error => "")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
socket.print(request) # Send request
|
|
48
|
+
response = socket.recv(char_count) # Read response
|
|
49
|
+
if(response)
|
|
50
|
+
logger(:log_msg => "Client: oxd_socket_response: #{response}", :error => "")
|
|
51
|
+
else
|
|
52
|
+
logger(:log_msg => "Client: oxd_socket_response : Error socket reading process.")
|
|
53
|
+
end
|
|
54
|
+
# close connection
|
|
55
|
+
if(socket.close)
|
|
56
|
+
logger(:log_msg => "Client: oxd_socket_connection : disconnected.", :error => "")
|
|
57
|
+
end
|
|
58
|
+
return response
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# method to send commands to the oxD server and to recieve the response via {#oxd_socket_request}
|
|
62
|
+
# @return [JSON] @response_object : response from the oxd server in JSON form
|
|
63
|
+
def request
|
|
64
|
+
validate_command
|
|
65
|
+
jsondata = getData.to_json
|
|
66
|
+
if(!is_json? (jsondata))
|
|
67
|
+
logger(:log_msg => "Sending parameters must be JSON. Exiting process.")
|
|
68
|
+
end
|
|
69
|
+
length = jsondata.length
|
|
70
|
+
if( length <= 0 )
|
|
71
|
+
logger(:log_msg => "JSON data length must be more than zero. Exiting process.")
|
|
72
|
+
else
|
|
73
|
+
length = length <= 999 ? sprintf('0%d', length) : length
|
|
74
|
+
end
|
|
75
|
+
@response_json = oxd_socket_request((length + jsondata).encode("UTF-8"))
|
|
76
|
+
@response_json.sub!(@response_json[0..3], "")
|
|
77
|
+
|
|
78
|
+
if (@response_json)
|
|
79
|
+
response = JSON.parse(@response_json)
|
|
80
|
+
if (response['status'] == 'error')
|
|
81
|
+
logger(:log_msg => "OxD Server Error : #{response['data']['error_description']}")
|
|
82
|
+
elsif (response['status'] == 'ok')
|
|
83
|
+
@response_object = JSON.parse(@response_json)
|
|
84
|
+
end
|
|
85
|
+
else
|
|
86
|
+
logger(:log_msg => "Response is empty. Exiting process.")
|
|
87
|
+
end
|
|
88
|
+
return @response_object
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# extracts 'data' parameter from @response_object
|
|
92
|
+
# @return [Mixed] @response_data
|
|
93
|
+
def getResponseData
|
|
94
|
+
if (!@response_object)
|
|
95
|
+
@response_data = 'Data is empty';
|
|
96
|
+
else
|
|
97
|
+
@response_data = @response_object['data']
|
|
98
|
+
end
|
|
99
|
+
return @response_data
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# combines command and command parameters for socket request
|
|
103
|
+
# @return [Array] @data
|
|
104
|
+
def getData
|
|
105
|
+
@data = {'command' => @command, 'params' => @params}
|
|
106
|
+
return @data
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# checks whether the passed string is in JSON format or not
|
|
110
|
+
# @param string_to_validate [String]
|
|
111
|
+
# @return [Boolean]
|
|
112
|
+
def is_json? (string_to_validate)
|
|
113
|
+
begin
|
|
114
|
+
!!JSON.parse(string_to_validate)
|
|
115
|
+
rescue
|
|
116
|
+
false
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Logs server response and errors to log file
|
|
121
|
+
# @param log_msg [Hash] response to print in log file
|
|
122
|
+
# @param error [Hash] error message to print in log file
|
|
123
|
+
# @raise RuntimeError
|
|
124
|
+
def logger(args={})
|
|
125
|
+
# Initialize Log file
|
|
126
|
+
# Location : app_root/log/oxd-ruby.log
|
|
127
|
+
@logger ||= Logger.new("log/oxd-ruby.log")
|
|
128
|
+
@logger.info(args[:log_msg])
|
|
129
|
+
|
|
130
|
+
raise (args[:error] || args[:log_msg]) if args[:error] != ""
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
data/lib/oxd/version.rb
ADDED
data/oxd-ruby.gemspec
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'oxd/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
spec.name = "oxd-ruby"
|
|
8
|
+
spec.version = Oxd::VERSION
|
|
9
|
+
spec.authors = ["inderpal6785"]
|
|
10
|
+
spec.email = ["inderpal6785@gmail.com"]
|
|
11
|
+
|
|
12
|
+
spec.summary = %q{Ruby Client Library for Oxd Server - OpenID Connect Client RP Middleware, which organizes authentication and registration of users.}
|
|
13
|
+
spec.homepage = "https://github.com/GluuFederation/oxd-ruby"
|
|
14
|
+
|
|
15
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
16
|
+
spec.bindir = "exe"
|
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
18
|
+
spec.require_paths = ["lib"]
|
|
19
|
+
|
|
20
|
+
spec.add_development_dependency "bundler", "~> 1.8"
|
|
21
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
|
22
|
+
spec.add_development_dependency "rspec"
|
|
23
|
+
spec.add_development_dependency "rspec-rails"
|
|
24
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: oxd-ruby
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.3
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- inderpal6785
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2016-06-24 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.8'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.8'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '10.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '10.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: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rspec-rails
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
description:
|
|
70
|
+
email:
|
|
71
|
+
- inderpal6785@gmail.com
|
|
72
|
+
executables: []
|
|
73
|
+
extensions: []
|
|
74
|
+
extra_rdoc_files: []
|
|
75
|
+
files:
|
|
76
|
+
- ".gitignore"
|
|
77
|
+
- ".rspec"
|
|
78
|
+
- ".travis.yml"
|
|
79
|
+
- CODE_OF_CONDUCT.md
|
|
80
|
+
- Gemfile
|
|
81
|
+
- LICENSE.txt
|
|
82
|
+
- README.md
|
|
83
|
+
- Rakefile
|
|
84
|
+
- demosite/.gitignore
|
|
85
|
+
- demosite/Gemfile
|
|
86
|
+
- demosite/Gemfile.lock
|
|
87
|
+
- demosite/README.md
|
|
88
|
+
- demosite/Rakefile
|
|
89
|
+
- demosite/app/assets/images/.keep
|
|
90
|
+
- demosite/app/assets/javascripts/application.js
|
|
91
|
+
- demosite/app/assets/javascripts/bootstrap.js.coffee
|
|
92
|
+
- demosite/app/assets/stylesheets/application.css
|
|
93
|
+
- demosite/app/assets/stylesheets/bootstrap_and_overrides.css
|
|
94
|
+
- demosite/app/controllers/application_controller.rb
|
|
95
|
+
- demosite/app/controllers/concerns/.keep
|
|
96
|
+
- demosite/app/controllers/home_controller.rb
|
|
97
|
+
- demosite/app/helpers/application_helper.rb
|
|
98
|
+
- demosite/app/mailers/.keep
|
|
99
|
+
- demosite/app/models/.keep
|
|
100
|
+
- demosite/app/models/concerns/.keep
|
|
101
|
+
- demosite/app/views/home/index.html.erb
|
|
102
|
+
- demosite/app/views/layouts/application.html.erb
|
|
103
|
+
- demosite/bin/bundle
|
|
104
|
+
- demosite/bin/rails
|
|
105
|
+
- demosite/bin/rake
|
|
106
|
+
- demosite/bin/setup
|
|
107
|
+
- demosite/bin/spring
|
|
108
|
+
- demosite/config.ru
|
|
109
|
+
- demosite/config/application.rb
|
|
110
|
+
- demosite/config/boot.rb
|
|
111
|
+
- demosite/config/database.yml
|
|
112
|
+
- demosite/config/environment.rb
|
|
113
|
+
- demosite/config/environments/development.rb
|
|
114
|
+
- demosite/config/environments/production.rb
|
|
115
|
+
- demosite/config/environments/test.rb
|
|
116
|
+
- demosite/config/initializers/assets.rb
|
|
117
|
+
- demosite/config/initializers/backtrace_silencers.rb
|
|
118
|
+
- demosite/config/initializers/cookies_serializer.rb
|
|
119
|
+
- demosite/config/initializers/filter_parameter_logging.rb
|
|
120
|
+
- demosite/config/initializers/inflections.rb
|
|
121
|
+
- demosite/config/initializers/mime_types.rb
|
|
122
|
+
- demosite/config/initializers/oxd_config.rb
|
|
123
|
+
- demosite/config/initializers/session_store.rb
|
|
124
|
+
- demosite/config/initializers/wrap_parameters.rb
|
|
125
|
+
- demosite/config/locales/en.bootstrap.yml
|
|
126
|
+
- demosite/config/locales/en.yml
|
|
127
|
+
- demosite/config/routes.rb
|
|
128
|
+
- demosite/config/secrets.yml
|
|
129
|
+
- demosite/db/seeds.rb
|
|
130
|
+
- demosite/lib/assets/.keep
|
|
131
|
+
- demosite/lib/tasks/.keep
|
|
132
|
+
- demosite/log/.keep
|
|
133
|
+
- demosite/public/404.html
|
|
134
|
+
- demosite/public/422.html
|
|
135
|
+
- demosite/public/500.html
|
|
136
|
+
- demosite/public/favicon.ico
|
|
137
|
+
- demosite/public/robots.txt
|
|
138
|
+
- demosite/test/controllers/.keep
|
|
139
|
+
- demosite/test/fixtures/.keep
|
|
140
|
+
- demosite/test/helpers/.keep
|
|
141
|
+
- demosite/test/integration/.keep
|
|
142
|
+
- demosite/test/mailers/.keep
|
|
143
|
+
- demosite/test/models/.keep
|
|
144
|
+
- demosite/test/test_helper.rb
|
|
145
|
+
- demosite/vendor/assets/javascripts/.keep
|
|
146
|
+
- demosite/vendor/assets/stylesheets/.keep
|
|
147
|
+
- lib/generators/oxd/config_generator.rb
|
|
148
|
+
- lib/generators/oxd/templates/oxd_config.rb
|
|
149
|
+
- lib/oxd-ruby.rb
|
|
150
|
+
- lib/oxd/client_oxd_commands.rb
|
|
151
|
+
- lib/oxd/config.rb
|
|
152
|
+
- lib/oxd/oxd_connector.rb
|
|
153
|
+
- lib/oxd/version.rb
|
|
154
|
+
- oxd-ruby.gemspec
|
|
155
|
+
homepage: https://github.com/GluuFederation/oxd-ruby
|
|
156
|
+
licenses: []
|
|
157
|
+
metadata: {}
|
|
158
|
+
post_install_message:
|
|
159
|
+
rdoc_options: []
|
|
160
|
+
require_paths:
|
|
161
|
+
- lib
|
|
162
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - ">="
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '0'
|
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
|
+
requirements:
|
|
169
|
+
- - ">="
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: '0'
|
|
172
|
+
requirements: []
|
|
173
|
+
rubyforge_project:
|
|
174
|
+
rubygems_version: 2.4.6
|
|
175
|
+
signing_key:
|
|
176
|
+
specification_version: 4
|
|
177
|
+
summary: Ruby Client Library for Oxd Server - OpenID Connect Client RP Middleware,
|
|
178
|
+
which organizes authentication and registration of users.
|
|
179
|
+
test_files: []
|
|
180
|
+
has_rdoc:
|