Thanks very much for the feedback, Galen (and thanks to the person who replied off-list). Detailed responses are below.

On 2019-04-10 2:34 p.m., Galen Charlton wrote:
I applaud the fact that by returning only the identifier, OpenILS::WWW::RemoteAuth::Basic currently is effectively just returning a Boolean yes/no about whether the patron is authorized to use the resource. While I suspect we'll not be able to insist that a Boolean authorization decision is the /only/ response that all authentication clients will get (and LIKE IT! ;) ), centralizing retrieval of patron data in OpenILS::WWW::RemoteAuth and adding attributes to config.remoteauth_profile to control what patron fields are given to a handler may help to keep a lid on data exposure.

There are definitely cases where some patron info needs to be retrievable. I had anticipated managing this via templates; doing it with profile attributes is a bit more complicated but I see how it can be done. Anyway, I strongly agree that we should minimize the amount of personal information that is returned.


The only addition that immediately comes to mind might be adding a user setting that allows a patron to opt out of allowing their account to be used for remote authentication of anything else.

"Don't allow Overdrive auth on my account" makes sense to the patron, but gets tricky if multiple vendors are using the same HTTP basic auth endpoint or something like that. I suppose we could add a nullable opt_out_usr_setting field to config.remoteauth_profile and let libraries sort out something that works for their implementation.


Two changes I would suggest are:

- tossing together an Angular admin interface for managing config.remoteauth_profile

I was leaving this for last, but I'll put something together. :)


- adding a user activity type for tracking authentication from the new interface

Right now all requests are using the "remoteauth" activity type. On reflection, you ought to be able to specify the activity type in the authentication profile, so I'll do that.

Thanks again!

Jeff

Reply via email to