-
Notifications
You must be signed in to change notification settings - Fork 3
OIDC visualizer #251
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
base: master
Are you sure you want to change the base?
OIDC visualizer #251
Conversation
✅ Deploy Preview for criipto-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
e582d06 to
ef1ba51
Compare
|
I just tried this and it's really cool! |
|
@fkj thanks a lot for checking it out! I keep asking myself if we need the option to change client configs at all. |
I think once you're at the point where you need custom configuration, you should probably use the Authorize URL Builder anyway. Or your own implementation. |
The intention is for developers to better understand OIDC. And as you said, they can always test their own application elsewhere. |
I think we should allow custom configuration, but just let the user see the error messages. |
| scope: string; | ||
| }; | ||
|
|
||
| const OidcVisualizer = () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very large component, suggest maybe breaking seperate steps into seperate components?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ) : ( | ||
| <button onClick={proceedToVerifyWT} className={baseBtnStyles}> | ||
| Next | ||
| </button> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make it possible to exchange the code again, to trigger the error branch of code replay, this has been requested by @sgryt to show to auditors.
|
@nmoskaleva Looks really freaking awesome so far! |
|
|
||
| <p className="mt-4 text-gray-600"> | ||
| This token is cryptographically signed with the HS256 algorithm. We'll use the | ||
| client secret to confirm the signature is valid. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section is incorrect. If it's a signature from Verify then it's not HS256 and it's assymetrically signed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in 4c4a2ca
| redirectUri: `${typeof window !== 'undefined' ? window.location.origin : 'https://docs.idura.app'}/verify/guides/oidc-visualizer`, | ||
| scope: 'openid', | ||
| responseType: 'code', | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wonder if we should also support private_key_jwt?
Let the user pick
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added in 84eb278
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
@mickhansen thanks for reviewing, I'll address the comments and add more features 👍
I used blue intentionally, yes. We had a discussion about using colors other than our brand colors in some cases. But I'll run the design through Trine once it's done.
We have this double wrapping scattered in the docs, e.g. https://docs.idura.app/verify/getting-started/oidc-intro/#example-authorization-url |
@nmoskaleva Oh, that's also a bug :D |
ef1ba51 to
d0baf8d
Compare
d0baf8d to
f6cd03e
Compare
This allows developers run the OIDC flow using their own application credentials.
195f4ca to
4b85dcd
Compare
Build was failing on this branch with ENOENT when reading `public/_redirects`. Fixed by initializing `input` to empty string if `_redirects` doesn't exist.
4b85dcd to
cf34207
Compare
|
Suggest perhaps allowing people to pick acr_values? Having the mock one would be beneficial in a few use cases. |
| Now, the authorization code can be exchanged for an access token and an ID token. To | ||
| do this, the authorization server sends a POST request to your token endpoint, | ||
| including the authorization code and the client credentials. Note that the | ||
| authorization code is valid for a single use. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This description is a bit awkward?
"The authorization server", I assume you mean "Your application server sends a POST request to the token endpoint".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Absolutely, fixed in 9ffc46a
| </div> | ||
|
|
||
| <p className="mt-4 text-gray-600"> | ||
| The token is cryptographically signed by Idura Verify using the RSA algorithm. To |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The use of RSA could change, perhaps either detect from the token header or just say "signed".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated (to simply "signed") in 9ffc46a
a4e3f34 to
9ffc46a
Compare
|
acr_values added in 5b27c01 |
|
@nmoskaleva This is absolutely great! I'm very much looking forward to showing it to our auditors next time around :) Some ideas for future (post-holiday) unhappy-path options below.
I don't suppose that browsers will let us tamper with the HTTP version for a request (@mickhansen ?) - but would be great to allow for modification to, say, |
|
Awesome suggestions @sgryt, I don't think any of them were on the agenda 👍 |
@sgryt I'm 99% sure you can't do this in the browser. |



The first iteration of OIDC Visualizer.
https://deploy-preview-251--criipto-docs.netlify.app/verify/guides/oidc-visualizer/
TO DO: