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

Should registrations be indexed by client ID as well as issuer? #62

Open
junglebarry opened this issue Oct 20, 2021 · 3 comments
Open

Comments

@junglebarry
Copy link

junglebarry commented Oct 20, 2021

We've been tinkering with this library, and noticed that the database of registrations is queried by issuer alone (iss from the JWT). However, for platforms like Canvas cloud, the iss would be the same across all tenant instances, and the process of adding a tool to any individual instance would generate a new client ID.

Should registrations be keyed by <iss, clientId> pairs, rather than by iss alone?

@junglebarry
Copy link
Author

Looks like there's a few different use-cases.

I can see why client_id isn't required on that basis, but I'm still interested in how to fit this up against the multiple-clients-for-issuer model used by (e.g.) Canvas.

@kpommerenke
Copy link

kpommerenke commented Oct 20, 2021

It makes sense to find the registration by issuer and client ID. However, Blackboard doesn't send the client ID initially, so you should be able to find the registration by issuer only. We use the following method signature in the class that implements the Database interface:
public function find_registration($issuer, $clientID = ""){}
If $clientID is provided, then it's used in the database query, otherwise ignored.

@junglebarry
Copy link
Author

That makes a lot of sense - thank you!

JanHolger pushed a commit to JanHolger/lti-1-3-php-library that referenced this issue Jul 26, 2022
PODA-539 Update PR template and changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants