Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add integration with pac4j #257

Closed
davidmc24 opened this issue Feb 22, 2014 · 5 comments
Closed

Add integration with pac4j #257

davidmc24 opened this issue Feb 22, 2014 · 5 comments
Assignees
Milestone

Comments

@davidmc24
Copy link
Contributor

@davidmc24 davidmc24 commented Feb 22, 2014

It doesn't look like the Ratpack documentation currently provides any guidance on mechanisms to integrate authentication. One of the approaches I've been working with is is a Ratpack module that performs authentication as an OpenID Relying Party via openid4java. If there's interest I'd be happy to either contribute this module to the main project, or publish it as a standalone library.

I'm also considering evaluating an Apache Shiro integration at some point.

UPDATE: while this ticket was originally for OpenID integration, the direction that is being taken is now to integration pac4j, which will support both OpenID and other similar approaches to authentication.

@ldaley

This comment has been minimized.

Copy link
Member

@ldaley ldaley commented Mar 1, 2014

I'd be happy to have this in core right now. We may very well move it out later when the API stabilises.

Having it in core means we can keep it current more easily.

Send it on in :)

@davidmc24

This comment has been minimized.

Copy link
Contributor Author

@davidmc24 davidmc24 commented Mar 3, 2014

So far, it's looking to me like the best way to provide a meaningful test of this functionality is through browser tests with real providers. You can't really test OpenID without a provider, and all the providers I've tried so far depend on enough JavaScript to make simpler non-browser tests more complicated than they're worth. Additionally, I haven't yet found an easy way to run an embedded provider for the tests.

I've gotten to the point where I've got some simple Geb tests working both with FireFox locally and SauceLabs remotely. The main question I have remaining on that is how to handle the credentials needed. I'm currently testing against Google's OpenID provider, using a Google account I made just for this purpose. It looks like the project is using both Travis CI and Drone for CI purposes... potentially for different reasons? For both, I think we could probably make the credentials available to the test via environment variables (encrypted and stored in .travis.yml for Travis, stored in the job config for Drone). Thoughts?

@ldaley

This comment has been minimized.

Copy link
Member

@ldaley ldaley commented Mar 3, 2014

I haven't yet found an easy way to run an embedded provider for the tests.

I think we want to really try hard for this. The docs for openid4java say that it provides provider components as well. Is there any reason we can't use that?

@davidmc24

This comment has been minimized.

Copy link
Contributor Author

@davidmc24 davidmc24 commented Mar 3, 2014

I suspect I'll be able to get it to work eventually; just a matter of time. I'll pursue that.

@ldaley

This comment has been minimized.

Copy link
Member

@ldaley ldaley commented Mar 3, 2014

It's going to make the testing much easier in the long run.

Thanks David.

@davidmc24 davidmc24 self-assigned this Mar 7, 2014
davidmc24 added a commit that referenced this issue Mar 11, 2014
@davidmc24 davidmc24 closed this Mar 13, 2014
davidmc24 added a commit that referenced this issue Mar 14, 2014
davidmc24 added a commit that referenced this issue Mar 14, 2014
davidmc24 added a commit that referenced this issue Mar 14, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.