scientist-softserv / princeton-manifold

Transforming scholarly publications into living digital works.
http://manifoldapp.org
GNU General Public License v3.0
0 stars 0 forks source link

Implement CAS authentication #5

Closed bkiahstroud closed 1 month ago

jillpe commented 2 months ago

https://github.com/pulibrary/pul-it-handbook/blob/main/services/cas.md - Here is the information that the princeton developers use to get CAS integration running using omni-auth

jillpe commented 2 months ago

Hannah and Kate can help test with their login credentials

bkiahstroud commented 2 months ago

Will be using this gem: https://github.com/dlindahl/omniauth-cas

bkiahstroud commented 2 months ago

Work so far

Current status

Seeing these validation errors after authenticating via CAS:

Email can't be blank Email is not valid First name can't be blank Last name can't be blank

Screenshot ![Image](https://github.com/user-attachments/assets/f8593c62-f789-420f-ba02-df2b9723abed)

Next steps

The info being sent back from CAS likely isn't properly mapping to how Manifold creates Users. The code needs to be tweaked to connect the data to the user creation properly

bkiahstroud commented 2 months ago

Update

Logging in via CAS is working using my guest Princeton account. Getting the OAuth config file deployed was tricky, but that has been resolved.

I believe the only (potential) thing left is getting the Princeton logo to render in the CAS button instead of a generic key icon (see screenshot)

Screenshot ![Image](https://github.com/user-attachments/assets/90e52637-02b9-4eb5-bad3-055acc55b57b)
bkiahstroud commented 1 month ago

Client confirmed this is working