lyrasis / aspace-oauth Goto Github PK
View Code? Open in Web Editor NEWConfigure ArchivesSpace as a service provider for oauth user authentication.
Configure ArchivesSpace as a service provider for oauth user authentication.
Tried to install on ubuntu 16.04 LTS, AS 2.6.0:
/data/archivesspace$ ./scripts/initialize-plugin.sh aspace-oauth
ERROR: While executing gem ... (Net::HTTPServerException)
403 "Forbidden"
Gem::GemNotFoundException: can't find gem bundler (>= 0.a)
find_spec_for_exe at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems.rb:271
activate_bin_path at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems.rb:299
<main> at ../../gems/bin/bundle:23
/data/archivesspace$
Any idea what could the problem and how to resolve it?
Thanks
Bin Zhang
[email protected]
Hey y'all, I installed the plugin according to the instructions, and my 3.4.1 deployment of aspace throws this error:
Bundler could not find compatible versions for gem "strscan": In snapshot (Gemfile.lock): strscan (= 3.0.6) In Gemfile: rails (~> 5.2) java was resolved to 5.2.8.1, which depends on actionmailer (= 5.2.8.1) java was resolved to 5.2.8.1, which depends on mail (~> 2.5, >= 2.5.4) java was resolved to 2.8.1, which depends on net-imap java was resolved to 0.2.2, which depends on strscan java rexml (~> 3.2, >= 3.2.5, < 3.2.9) java was resolved to 3.2.8, which depends on strscan (>= 3.0.9) java Running `bundle update` will rebuild your snapshot from scratch, using only the gems in your Gemfile, which may resolve the conflict
This is a production deployment of aspace, which means that I don't have access to bundler, which means I cannot follow the recommended instructions from the error message. Please advise.
We've had a couple of instances where the OAuth plugin didn't like the assertations from the customer. One was a special character in the username (eg: first.last) and the other was that the username was in all caps (eg: FLAST)
ArchivesSpace appears to support usernames in all caps and with a period when creating accounts manually however when logging in via OAuth the plugin simply won't accept them, giving a generic "Authentication Error" upon login.
Having our clients adjust their IdPs to provide assertations in all lower-case and without any special characters provides a successful login however both clients have expressed displeasure with this requirement.
Is it possible to modify the plugin to accept these types of responses? Perhaps this was an intentional choice due to requirements in previous versions of ArchivesSpace?
Thanks!
We have been using aspace-oauth to authenticate our users using CAS protocol. Our SSO vendor asked us to verify that all our CAS apps are using TLSv1.2 or later to communicate with CAS, as they are dropping v1.0/1.2 next week.
I have to admit that I don't know enough to know where I need to look to confirm. Is this determined by AS core, or is the OS level openssl is being used? Or does this plugin uses its own openssl client?
Thanks for any advice you can provide.
Thanks!
Bin
Has been requested in the past.
Recently updated: omniauth/omniauth-okta#7
I'm having difficulty importing attributes such as first_name and last_name.
I've confirmed the value are getting sent over in the SAML response and it appears that they are both requested by default based on the metadata and the omniauth configuration.
In the config.rb I have them specified as shown below.
Both Full name and Email fill in fine. I'm just not sure what I'm missing for the other fields.
},
:attribute_statements => {
email: ["urn:oid:0.9.2342.19200300.100.1.3"],
name: ["urn:oid:2.16.840.1.113730.3.1.241"],
first_name: ["urn:oid:2.5.4.42"],
last_name: ["urn:oid:2.5.4.4"],
},
The relevant part of the SAML response looks like this:
<saml2:Attribute Name="urn:oid:2.5.4.42" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">FTest1</saml2:AttributeValue>
</saml2:Attribute>
<saml2:Attribute Name="urn:oid:2.5.4.4" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">LTest1</saml2:AttributeValue>
Thanks in advance for any pointers!
Greetings,
When installing the latest oauth plugin (Dated 9/1/21) I get an error regarding the gems on ArchivesSpace 3.1.0.
This does not happen when used on previous versions of ArchivesSpace (Tested 2.8.1 and 3.0.2).
I am able to get the plugin dated 4/22/21 working on ASpace 3.1.0 which predates the "Locks addressable to 2.7" commit I see from Blake on July 3rd.
The exact message is below:
You have requested: addressable = 2.7.0 The bundle currently has addressable locked at 2.8.0. Try running
bundle update addressableIf you are updating multiple gems in your Gemfile at once, try passing them all to
bundle updatefrom /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/resolver.rb:290:in
block in verify_gemfile_dependencies_are_found!' from org/jruby/RubyArray.java:1809:in each' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/resolver.rb:258:in
verify_gemfile_dependencies_are_found!' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/resolver.rb:49:in start' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/resolver.rb:22:in
resolve' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:258:in resolve' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:170:in
specs' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:237:in specs_for' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:226:in
requested_specs' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/runtime.rb:101:in block in requested_specs' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/runtime.rb:20:in
setup' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler.rb:149:in setup' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/setup.rb:20:in
block in
with_level' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/ui/shell.rb:88:in
silence' from /archivesspace/gems/gems/bundler-2.1.4/lib/bundler/setup.rb:20:in <main>' from org/jruby/RubyKernel.java:974:in
require' from uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:130:in require' from /archivesspace/data/tmp/jetty-0.0.0.0-8080-frontend.war-_-any-/webapp/WEB-INF/config/boot.rb:10:in
' from org/jruby/RubyKernel.java:974:in require' from uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54:in
require' from uri:classloader:/jruby/rack/rails/environment3.rb:23:in load_environment' from uri:classloader:/jruby/rack/rails_booter.rb:83:in
load_environment' from <script>:1:in <main>' from launcher/launcher.rb:89:in
start_server' from launcher/launcher.rb:162:in main' from launcher/launcher.rb:258:in
'I was able to configure CAS to authenticate, but do not know how to populate user information (full name, first name, last name, title, etc.) to AS's user details. I would really appreciate a config example that includes those fields. It will also be helpful if there is a way to dump all the attributes return by CAS in the log.
thanks
Bin Zhang
[email protected]
Hi,
Could you provide an example configuration for using CAS?
Thanks
Hello Mark,
I’ve encountered an issue where the NameID value gets replaced if I also provide an email address via urn:oid:0.9.2342.19200300.100.1.3.
In the config.rb I have
name_identifier_format => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
If I send over just the Unique User Identifier (Name ID) I’ll get that value made as a username. Perfect.
The catch is that username also gets listed in the user’s Full Name and Email address fields.
To make it more user friendly, I send over urn:oid:2.16.840.1.113730.3.1.241 to take the place of Full Name. That works great.
Where things go wrong is when I also send over urn:oid:0.9.2342.19200300.100.1.3
That's the email address and, when that's provided, the first part of that email address (eg: nathan in [email protected]) becomes the username.
To put it another way, it appears the email address value is getting parsed and everything before the @ gets put in as the username even if I’m sending something different as the NameID. I can confirm that the NameID is still coming over as intended by decoding the assertion that gets recorded in the archivesspace.out file. It's just not getting used anymore by the plugin, it seems.
For now I've asked the user to omit the email address from their assertion so that their unique NameID value gets used instead.
Thanks,
Nathan
Hi - this is more of a question than an issue, but do you know if this plugin supports Azure AD? That appears to support both SAML and Oauth 2.0 (https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols).
I'm currently running this plugin with the SAML configuration. I'm using the test iDP provided in the repository; i.e. https://hub.docker.com/r/kristophjunge/test-saml-idp/
My configuration is the following, the label/link routes to a broken page. So, I'm not sure if what I'm seeing is correct. What login page am I suppose to be using?
AppConfig[:authentication_sources] = [ {
model: 'ASOauth',
provider: 'saml',
label: 'Institutional Sign In',
slo_link: false,
# METADATA URL: optional, use to download configuration
# metadata_parser_url: "https://login.somewhere.edu:4443/idp/shibboleth",
config: {
:assertion_consumer_service_url => "http://localhost/staff/auth/saml/callback",
:issuer => "http://localhost:8080/simplesaml/saml2/idp/metadata.php",
:name_identifier_format => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
# THESE ARE OPTIONAL IF USING METADATA URL (but can be used to override parsed metadata)
:idp_sso_target_url => "http://localhost/simplesaml/saml2/idp/SSOService.php",
:idp_cert_fingerprint => "119b9e027959cdb7c662cfd075d9e2ef384e445f",
:idp_cert_fingerprint_validator => lambda { |fingerprint| fingerprint },
# OPTIONAL: for encrypted assertions
:certificate => "PUBLIC CERT",
:private_key => "PRIVATE KEY",
# OPTIONAL: may be required by IDP (used with certificate and private_key)
:security => {
authn_requests_signed: true,
want_assertions_signed: true,
want_assertions_encrypted: true,
metadata_signed: true,
# XMLSecurity::Document strings for digest and signature will be resolved to constant
digest_method: "XMLSecurity::Document::SHA256",
signature_method: "XMLSecurity::Document::RSA_SHA256",
embed_sign: true,
},
:attribute_statements => {
email: ["urn:oid:0.9.2342.19200300.100.1.3"],
},
}
}]
docker run --name=testsamlidp_idp
-p 8080:8080
-p 8443:8443
-e SIMPLESAMLPHP_SP_ENTITY_ID=http://localhost/staff
-e SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE=http://localhost/staff/auth/saml/callback
-e SIMPLESAMLPHP_SP_SINGLE_LOGOUT_SERVICE=http://localhost/staff/auth/saml_logout
-d kristophjunge/test-saml-idp
And the following lines are in my log:
2023-09-29 14:47:15 I, [2023-09-29T18:47:15.567411 #60] INFO -- : Started GET "/staff/auth/saml/callback" for 172.19.0.5 at 2023-09-29 18:47:15 +0000
2023-09-29 14:47:15 I, [2023-09-29T18:47:15.592061 #60] INFO -- : Processing by OauthController#create as HTML
2023-09-29 14:47:15 I, [2023-09-29T18:47:15.593295 #60] INFO -- : Parameters: {"provider"=>"saml"}
2023-09-29 14:47:15 I, [2023-09-29T18:47:15.619619 #60] INFO -- : Completed 500 Internal Server Error in 24ms
2023-09-29 14:47:15 F, [2023-09-29T18:47:15.624855 #60] FATAL -- :
2023-09-29 14:47:15 F, [2023-09-29T18:47:15.626060 #60] FATAL -- : NoMethodError (undefined method `[]' for nil:NilClass):
INFO: An exception happened during JRuby-Rack startup
Could not find public_suffix-4.0.6 in any of the sources
--- System
jruby 9.2.20.1 (2.5.8) 2021-11-30 2a2962fbd1 Java HotSpot(TM) 64-Bit Server VM 25.301-b09 on 1.8.0_301-b09 +jit [mswin32-x86_64]
Time: 2022-09-19 10:19:49 -0500
Server: jetty/9.4.44.v20210927
jruby.home: uri:classloader://META-INF/jruby.home
--- Context Init Parameters:
jruby.max.runtimes = 1
jruby.min.runtimes = 1
public.root = /
rails.env = production
--- Backtrace
Bundler::GemNotFound: Could not find public_suffix-4.0.6 in any of the sources
materialize at G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/spec_set.rb:86
map! at org/jruby/RubyArray.java:2621
materialize at G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/spec_set.rb:80
specs at G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:170
specs_for at G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:237
requested_specs at G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:226
requested_specs at G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/runtime.rb:101
setup at G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/runtime.rb:20
setup at G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler.rb:149
--- RubyGems
Gem.dir: G:/archivesspace/gems
Gem.path:
G:/archivesspace/gems
G:/archivesspace/plugins/aspace-oauth/gems
Activated gems:
did_you_mean-1.2.1
fileutils-1.1.0
bundler-2.1.4
--- Bundler
Bundler.bundle_path: G:/archivesspace/gems
Bundler.root: G:/archivesspace/data/tmp/jetty-0_0_0_0-7080-frontend_war--any-1764348607246849407/webapp/WEB-INF
Gemfile: G:/archivesspace/data/tmp/jetty-0_0_0_0-7080-frontend_war--any-1764348607246849407/webapp/WEB-INF/Gemfile
Settings:
jobs = 8
without = [:test, :development, :doc]
gemfile = G:/archivesspace/data/tmp/jetty-0_0_0_0-7080-frontend_war-_-any-1764348607246849407/webapp/WEB-INF/Gemfile
--- JRuby-Rack Config
compat_version =
default_logger = org.jruby.rack.logging.StandardOutLogger@1e84a463
equals = <error: >
err = java.io.PrintStream@ee021ff
filter_adds_html = true
filter_verifies_resource = false
ignore_environment = false
initial_memory_buffer_size =
initial_runtimes = 1
jms_connection_factory =
jms_jndi_properties =
logger = org.jruby.rack.logging.ServletContextLogger@299e83fd
logger_class_name = servlet_context
logger_name = jruby.rack
maximum_memory_buffer_size =
maximum_runtimes = 1
num_initializer_threads =
out = java.io.PrintStream@72327399
rackup =
rackup_path =
rewindable = true
runtime_arguments =
runtime_environment =
runtime_timeout_seconds =
serial_initialization = false
servlet_context = [email protected]@348a2f49{/,file:///G:/archivesspace/data/tmp/jetty-0_0_0_0-7080-frontend_war-_-any-1764348607246849407/webapp/,STARTING}{G:\archivesspace/wars/frontend.war}
throw_init_exception = false
Sep 19, 2022 10:19:49 AM org.eclipse.jetty.server.handler.ContextHandler$Context log
WARNING: ERROR: initialization failed
org.jruby.rack.RackInitializationException: Could not find public_suffix-4.0.6 in any of the sources
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/spec_set.rb:86:in `block in materialize'
from org/jruby/RubyArray.java:2621:in `map!'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/spec_set.rb:80:in `materialize'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:170:in `specs'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:237:in `specs_for'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:226:in `requested_specs'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/runtime.rb:101:in `block in requested_specs'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/runtime.rb:20:in `setup'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler.rb:149:in `setup'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/setup.rb:20:in `block in <main>'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/ui/shell.rb:136:in `with_level'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/ui/shell.rb:88:in `silence'
from G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/setup.rb:20:in `<main>'
from org/jruby/RubyKernel.java:974:in `require'
from uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:158:in `require'
from G:/archivesspace/data/tmp/jetty-0_0_0_0-7080-frontend_war-_-any-1764348607246849407/webapp/WEB-INF/config/boot.rb:10:in `<main>'
from org/jruby/RubyKernel.java:974:in `require'
from uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83:in `require'
from uri:classloader:/jruby/rack/rails/environment3.rb:23:in `load_environment'
from uri:classloader:/jruby/rack/rails_booter.rb:83:in `load_environment'
from <script>:1:in `<main>'
from G:\archivesspace\launcher\launcher.rb:90:in `start_server'
from G:\archivesspace\launcher\launcher.rb:149:in `main'
from G:\archivesspace\launcher\launcher.rb:242:in `<main>'
at org.jruby.rack.RackInitializationException.wrap(RackInitializationException.java:29)
at org.jruby.rack.RackApplicationFactoryDecorator.init(RackApplicationFactoryDecorator.java:104)
at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:50)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1067)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:996)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:746)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:910)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:441)
at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:305)
at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:32)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:142)
at G_3a_.archivesspace.launcher.launcher.invokeOther132:start(G:\archivesspace\launcher\launcher.rb:90)
at G_3a_.archivesspace.launcher.launcher.RUBY$method$start_server$1(G:\archivesspace\launcher\launcher.rb:90)
at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:80)
at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:192)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:419)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:237)
at G_3a_.archivesspace.launcher.launcher.invokeOther210:start_server(G:\archivesspace\launcher\launcher.rb:149)
at G_3a_.archivesspace.launcher.launcher.RUBY$method$main$6(G:\archivesspace\launcher\launcher.rb:149)
at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:156)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:355)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:144)
at G_3a_.archivesspace.launcher.launcher.invokeOther303:main(G:\archivesspace\launcher\launcher.rb:242)
at G_3a_.archivesspace.launcher.launcher.RUBY$script(G:\archivesspace\launcher\launcher.rb:242)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at org.jruby.ir.Compiler$1.load(Compiler.java:89)
at org.jruby.Ruby.runScript(Ruby.java:1205)
at org.jruby.Ruby.runNormally(Ruby.java:1128)
at org.jruby.Ruby.runNormally(Ruby.java:1146)
at org.jruby.Ruby.runFromMain(Ruby.java:958)
at org.jruby.Main.doRunFromMain(Main.java:400)
at org.jruby.Main.internalRun(Main.java:292)
at org.jruby.Main.run(Main.java:234)
at org.jruby.Main.main(Main.java:206)
Caused by: org.jruby.exceptions.StandardError: (GemNotFound) Could not find public_suffix-4.0.6 in any of the sources
at RUBY.materialize(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/spec_set.rb:86)
at org.jruby.RubyArray.map!(org/jruby/RubyArray.java:2621)
at RUBY.materialize(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/spec_set.rb:80)
at RUBY.specs(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:170)
at RUBY.specs_for(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:237)
at RUBY.requested_specs(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/definition.rb:226)
at RUBY.requested_specs(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/runtime.rb:101)
at RUBY.setup(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/runtime.rb:20)
at RUBY.setup(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler.rb:149)
at RUBY.<main>(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/setup.rb:20)
at RUBY.with_level(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/ui/shell.rb:136)
at RUBY.silence(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/ui/shell.rb:88)
at RUBY.<main>(G:/archivesspace/gems/gems/bundler-2.1.4/lib/bundler/setup.rb:20)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:974)
at RUBY.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:158)
at RUBY.<main>(G:/archivesspace/data/tmp/jetty-0_0_0_0-7080-frontend_war-_-any-1764348607246849407/webapp/WEB-INF/config/boot.rb:10)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:974)
at RUBY.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83)
at RUBY.load_environment(uri:classloader:/jruby/rack/rails/environment3.rb:23)
at RUBY.load_environment(uri:classloader:/jruby/rack/rails_booter.rb:83)
at RUBY.<main>(<script>:1)
at G_3a_.archivesspace.launcher.launcher.start_server(G:\archivesspace\launcher\launcher.rb:90)
at G_3a_.archivesspace.launcher.launcher.main(G:\archivesspace\launcher\launcher.rb:149)
at G_3a_.archivesspace.launcher.launcher.<main>(G:\archivesspace\launcher\launcher.rb:242)
Please see the protocol just after the 'service' variable below:
https://webauth.uncc.edu/idp/profile/cas/login?service=http://archivesspace.uncc.edu/auth/cas/callback?url=https%3A%2F%2Farchivesspace.uncc.edu%2F
AppConfig[:authentication_sources] = [{
model: 'ASOauth',
provider: 'cas',
label: 'CAS Sign In',
slo_link: true,
config: {
url: 'https://webauth.uncc.edu',
host: 'webauth.uncc.edu',
login_url: '/idp/profile/cas/login',
logout_url: '/idp/profile/cas/logout',
service_validate_url: '/idp/profile/cas/serviceValidate'
# if your server does not return an email address, you can add one
# here using the fetch_raw_info option.
# fetch_raw_info: ->(s, o, t, user_info) { { email: "#{user_info['user']}@uncc.edu" } }
} }]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.