Add example: a single-page app#17
Open
oneb wants to merge 2 commits into
Open
Conversation
Owner
|
Thank you very much for contributing this example. I'm leaning towards including it, but I'm also worried that it needlessly complicates the existing example, which is already quite large. Isn't demonstrating how to use OpenID Connect from within a single-page application pretty far out of the scope of this project? Would this content be a better fit for a blog article? What are your thoughts? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds an example that illustrates authentication for a single-page app.
With the current example in
example/Auth.hs, when you click the login link, you leave the current page and lose all of its state. With this new example inexample/AuthSinglePageApp.hs, the login page instead opens in a new tab and the original tab stays intact. Once the login process is complete a WebSocket informs the original tab that the user has logged in, and the page updates to indicate that.I mostly added new code, in
AuthSinglePageApp.hs, and interfered with the existing code as little as possible.A new command-line option was added,
--single-page-app, which causes the SPA example app inAuthSinglePageApp.hsto be run instead of the existing example app inAuth.hs. Otherwise usage is the same, and if you do not use that option, everything works exactly as before.So to run the new example, you do:
The only difference, compared to how you run the old example in
Auth.hs, is that last command line argument.