-
Notifications
You must be signed in to change notification settings - Fork 34
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
OEP-42 and XBlock authentication #489
Comments
FYI: @bradenmacdonald |
@robrap Sorry for not writing an ADR about it. I did try to write an extensive docstring though as you can see. I think that if we decide to keep this, a retroactive ADR makes a lot of sense. One important clarification is that that implementation and auth mechanism were only used by the Blockstore XBlock runtime which was only used for LabXchange, though may soon be used for Content Libraries V2 as well. So in some sense it is an experimental approach, to test stronger XBlock sandboxing. I think it has been shown to work well, but there is certainly room for a larger discussion around it before we decide if it's a useful auth mechanism to move forward with for sandboxed XBlocks, or if we should use something else. There are no shared secret keys in this approach, and keys can be rotated whenever you want. The "secret" lives on the server and is used to generate a user-specific hashed token (asymmetrically hashed) which will work until it expires or the server's secret is rotated. @kenclary has also been looking into this a lot lately and may have additional input about next steps. |
Thanks @bradenmacdonald. No worries.
|
Yes, exactly. The JavaScript code running within the iframe has no way to make authenticated calls to the LMS other than via this token, and this token only works for calls to the XBlock runtime API that are scoped to the particular block in the iframe. So it cannot access any other LMS APIs nor user data, which is the key thing. I certainly assumed there would be some discussion on the merits of this approach and relevant alternatives before it is more widely adopted or blessed. |
Closing this for no action in a year. Please reopen with more detail about current work to be done if you are picking it up or are asking someone else to do so. |
@bradenmacdonald: What is the current status of this? I don't think we need to reopen unless someone makes progress on this, but at least it is somewhat documented somewhere by having this issue. |
@robrap As far as I know, there's no related activity happening now, though at some point in the next six months we're going to need to figure out a better solution for rendering XBlocks in MFEs, and then this may be relevant to the discussion. |
|
OK, re-opening as an issue to add that note. |
In #612, I marked this OEP as deferred. Please discuss over there! |
To Do item, post discussion:
As per the comment #489 (comment),
So whomever is picking up this task, please add this note appropriately, point to this ticket, and update the OEP changelog. Thanks!
Original ticket description
Minor context: I just learned (or re-learned) about XBlock secure tokens used for authentication, implemented in the XBlock utils here. Note: this is old enough that for all I know I took part in reviews and just don't remember.
Here are some assorted thoughts related to this, that may or may not result in different tickets:
The text was updated successfully, but these errors were encountered: