Testing OIDC client registration

Janne Lauros janne.lauros at csc.fi
Thu May 23 02:08:45 EDT 2019


Hi Keith and all, 

>> Geant folks, one item missing from your documentation. 
Thanks for pointing that out. Adding the keyset is mentioned in https://github.com/CSCfi/shibboleth-idp-oidc-extension/wiki/Installing-from-archive#profile-configurations and in https://github.com/CSCfi/shibboleth-idp-oidc-extension/wiki/OIDC.Keyset. The example activation in https://github.com/CSCfi/shibboleth-idp-oidc-extension/wiki/DynamicClientRegistration was bad and you propably copied the example losing the keyset configuration. I changed the wording and also the example to prevent that. I hope it is better now. 

Br Janne 


From: "Keith Wessel" <kwessel at illinois.edu> 
To: "users" <users at shibboleth.net> 
Sent: Wednesday, 22 May, 2019 17:00:02 
Subject: RE: Testing OIDC client registration 



Hi, all, 



Just wanted to report that I did get this working without having to manually download the OP metadata. 



Geant folks, one item missing from your documentation. You mention that the OIDC.Registration bean has to be added to the UnverifiedRelyingParty configratuion. That gets the registration done, but the client can’t retrieve the keyset. I also had to add the OIDC.Keyset bean. 



And for anyone trying to test this with Apache mod_auth_openidc, my config looks like this: 



OIDCClientID test_rp 

OIDCClientSecret <redacted> 

OIDCProviderIssuer [ https://idp.example.edu%20/#%20matching%20issuer%20from%20IdP's%20OIDC%20extension%20configuration%20and%20a%20resolvable%20URL%20that,%20when%20appended%20with%20.well-known/openid-configuration,%20will%20result%20in%20your%20OIDC%20provider%20config)u | 
https://idp.example.edu # matching issuer from IdP’s OIDC extension configuration and a resolvable URL that, when appended with .well-known/openid-configuration, will result in your OIDC provider config)u ] 


OIDCOAuthSSLValidateServer Off # Test client doesn’t have https 

OIDCSSLValidateServer Off 

OIDCRedirectURI [ http://client.example.edu/protected/redirect_uri | 
http://client.example.edu/protected/redirect_uri ] 


OIDCCryptoPassphrase <redacted> 

OIDCResponseType "code" 

OIDCScope "openid profile email address phone" 

OIDCMetadataDir /var/cache/httpd/mod_auth_openidc/metadata 

OIDCCacheDir /var/cache/httpd/mod_auth_openidc/cache 



<Location /protected> 

AuthType openid-connect 

# And whatever Require or Grant directives go here 

</Location> 



The first time you log in, you’ll be prompted by the Apache module to enter your provider. If you type in the full issuer ID including the https://, it should go to .well-known/opened-configuration and retrieve everything it needs to know. It will then perform a client registration, and everything should work from there on out for logging in and getting back claims. 



Keith 




From: users <users-bounces at shibboleth.net> On Behalf Of Liam Hoekenga 
Sent: Wednesday, May 15, 2019 5:30 PM 
To: Shib Users <users at shibboleth.net> 
Subject: Re: Testing OIDC client registration 







One question before I try this, though: why do I have to manually download the OP’s metadata and install it? Isn’t part of the whole thing the module’s ability to dynamically discover and download the OP’s information? 








I think that it's supposed to be able to download the metadata. 





I believe if you give it a hostname, it's supposed to try to find the well-known information, and I think that [ mailto:username at example.edu | username at example.edu ] looks require that .well-known information be located at [ https://example.edu/ | https://example.edu ] . 





I think that hostname based discovery has issues (at least it did in mid-March). If I don't specify the protocol, it complains.. 





[Fri Mar 15 16:09:00 2019] [error] [client xxx.xxx.xxx.xxx] oidc_metadata_provider_is_valid: requested issuer ( [ http://idp.example.edu/ | idp.example.edu ] ) does not match the "issuer" value in the provider metadata file: [ https://idp.example.edu/ | https://idp.example.edu ] , referer: [ https://sp.example.umich.edu/oidc/ | https://sp.example.umich.edu/oidc/ ] 





The spec says iss is supposed to be a case sensitive HTTPS url. I had assumed the hostname was sufficient based on the default form and " [ http://mitreid.org/ | mitreid.org ] " (but even [ http://mitreid.org/ | mitreid.org ] generates an error, requiring " [ https://mitreid.org/ | https://mitreid.org ] " to work). 





I asked the developer (Hans Zandbelt) and he said he believed that it was due to a change at some point in the code where he started to put more strict requirements on the provided issuer values because of recent attacks but failed to adapt the HTML discovery pages. 





Liam 







-- 
For Consortium Member technical support, see https://wiki.shibboleth.net/confluence/x/coFAAg 
To unsubscribe from this list send an email to users-unsubscribe at shibboleth.net 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20190523/1e0e9898/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ~WRD000.jpg
Type: image/jpeg
Size: 823 bytes
Desc: ~WRD000.jpg
URL: <http://shibboleth.net/pipermail/users/attachments/20190523/1e0e9898/attachment.jpg>


More information about the users mailing list