Can a Canvas instance be made to be embeddable in iframe?

Jump to solution
mgandr
Community Novice

As part of our integration of Canvas into our large campus administration system, we want to be able to embed Canvas, or at least certain parts of Canvas, inside of our campus system admin website, within something like an iFrame.  Currently, it throws up an error that the X-Frame-Options is set to SameOrigin.  

We used to do this integration with Moodle, which had an admin setting in moodle itself, but now that we are potentially moving to Canvas, we want to do the same.  Is it possible to do this through a setting or config change, or would it have to be an edit in the source code?

Labels (2)
1 Solution
stuart_ryan
Community Novice

Hi  @mgandr  and Welcome to the Canvas Community!

Given that the X-Frame-Origins is set by the destination iFrame site (In this case Canvas and the Canvas Servers), rather than the serving site (where you would like to embed), I don't foresee that this would be possible.

However, I do have a couple of other ideas in mind that I thought I would throw into the ring for consideration. 

Option 1 is to LTI-ify the campus administration system - one thing we are looking into for our new administration tool which we are rewriting from the ground up is using an LTI integration to present, serve and single sign-on into our Campus Administration Tool from within Canvas itself. Essentially this would be flipping the model on its head, but it is an available option and depending on the use case, could make good sense.

Option 2 that comes to mind would be to assess what functions you would like to present in your campus administration system from Canvas and see if you could achieve those same features with native functionality in the campus administration system using the Canvas APIs to effect the changes you need. Depending on your use cases (which I would love to hear more about), this would let you set up and modify courses, change course settings and perform a wealth of tasks.

I do realise that both of these entail more development work, however they came to mind from my own experiences as a couple of available options.

Hope this helps!

Stuart

Note: I have assumed you are using Canvas hosted by Instructure (Software as a Service), if this is not the case please let me know so I can re-clarify.

View solution in original post