collab/mermaid/demos/zenuml.htmlblame
View source
6dd74de1<!doctype html>
6dd74de2<html lang="en">
6dd74de3 <head>
6dd74de4 <meta charset="utf-8" />
6dd74de5 <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6dd74de6 <title>Mermaid Zenuml Test Page</title>
6dd74de7 </head>
6dd74de8
6dd74de9 <body>
6dd74de10 <h1>Zenuml demos</h1>
6dd74de11 <pre class="mermaid">
6dd74de12 zenuml
6dd74de13BookLibService.Borrow(id) {
6dd74de14 User = Session.GetUser()
6dd74de15 if(User.isActive) {
6dd74de16 try {
6dd74de17 BookRepository.Update(id, onLoan, User)
6dd74de18 receipt = new Receipt(id, dueDate)
6dd74de19 } catch (BookNotFoundException) {
6dd74de20 ErrorService.onException(BookNotFoundException)
6dd74de21 } finally {
6dd74de22 Connection.close()
6dd74de23 }
6dd74de24 }
6dd74de25 return receipt
6dd74de26}
6dd74de27 </pre>
6dd74de28 <pre class="mermaid">
6dd74de29 zenuml
6dd74de30 title Async Messages (SPA Authentication)
6dd74de31 // ```
6dd74de32 // GET https://${account.namespace}/authorize/?
6dd74de33 // response_type=token
6dd74de34 // &client_id=${account.clientId}
6dd74de35 // &redirect_url=YOUR_CALLBACK_URL
6dd74de36 // &state=VALUE_THAT_SURVIVES_REDIRECTS
6dd74de37 // &scope=openid
6dd74de38 // ```
6dd74de39 Browser->Auth0: 1. initiate the authentication
6dd74de40 Auth0->"Identity Provider": 2. OAuth2 / SAML, etc
6dd74de41 "Identity Provider"->"Identity Provider": 3. user gets authenticated
6dd74de42 Auth0->Browser: 4. redirect to ${YOUR_CALLBACK_URL}/#id_token=e68...
6dd74de43 Browser->Auth0: 5. validate id_token and get user profile
6dd74de44 Browser->"Your API": 6. call API sending JWT in Authorization header
6dd74de45 "Your API"->"Your API": 7. validate token
6dd74de46 </pre>
6dd74de47
6dd74de48 <script type="module">
6dd74de49 import mermaid from './mermaid.esm.mjs';
6dd74de50 import zenuml from './mermaid-zenuml.esm.mjs';
6dd74de51 await mermaid.registerExternalDiagrams([zenuml]);
6dd74de52 mermaid.initialize({
6dd74de53 logLevel: 3,
6dd74de54 });
6dd74de55 </script>
6dd74de56 </body>
6dd74de57</html>