add login
This commit is contained in:
		
							parent
							
								
									16e30124e6
								
							
						
					
					
						commit
						c045e4c712
					
				
							
								
								
									
										1
									
								
								lib/extensions/admin/.well-known
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								lib/extensions/admin/.well-known
									
									
									
									
									
										Symbolic link
									
								
							| @ -0,0 +1 @@ | |||||||
|  | _apis | ||||||
							
								
								
									
										1
									
								
								lib/extensions/admin/_apis/oauth3
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								lib/extensions/admin/_apis/oauth3
									
									
									
									
									
										Symbolic link
									
								
							| @ -0,0 +1 @@ | |||||||
|  | oauth3.org | ||||||
							
								
								
									
										1
									
								
								lib/extensions/admin/_apis/oauth3.org
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								lib/extensions/admin/_apis/oauth3.org
									
									
									
									
									
										Symbolic link
									
								
							| @ -0,0 +1 @@ | |||||||
|  | ../assets/oauth3.org/_apis/oauth3.org | ||||||
							
								
								
									
										1
									
								
								lib/extensions/admin/assets/oauth3.org
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										1
									
								
								lib/extensions/admin/assets/oauth3.org
									
									
									
									
									
										Submodule
									
								
							| @ -0,0 +1 @@ | |||||||
|  | Subproject commit 8e2e09f5823ae919c615c9c3b21114e01096b1ee | ||||||
| @ -139,6 +139,74 @@ TCP | |||||||
| 
 | 
 | ||||||
|     </div> |     </div> | ||||||
| 
 | 
 | ||||||
|  |     <form class="js-auth-form"> | ||||||
|  |       <input class="js-auth-subject" type="email"/> | ||||||
|  |       <button class="js-auth-submit" type="submit">Login</button> | ||||||
|  |     </form> | ||||||
|  |     <script src="assets/oauth3.org/oauth3.core.js"></script> | ||||||
|  |     <script> | ||||||
|  |       (function () { | ||||||
|  |         'use strict'; | ||||||
|  |         var OAUTH3 = window.OAUTH3; | ||||||
|  |         var oauth3 = OAUTH3.create(window.location); | ||||||
|  |         var $ = function () { return document.querySelector.apply(document, arguments); } | ||||||
|  | 
 | ||||||
|  | 				function onChangeProvider(providerUri) { | ||||||
|  | 					// example https://oauth3.org | ||||||
|  | 					return oauth3.setIdentityProvider(providerUri); | ||||||
|  | 				} | ||||||
|  | 
 | ||||||
|  | 				// This opens up the login window for the specified provider | ||||||
|  | 				// | ||||||
|  | 				function onClickLogin(ev) { | ||||||
|  |           ev.preventDefault(); | ||||||
|  |           ev.stopPropagation(); | ||||||
|  | 
 | ||||||
|  |           // TODO check subject for provider viability | ||||||
|  |           return oauth3.authenticate({ | ||||||
|  |             subject: $('.js-auth-subject').value | ||||||
|  |           }).then(function (session) { | ||||||
|  | 
 | ||||||
|  | 						console.info('Authentication was Successful:'); | ||||||
|  | 						console.log(session); | ||||||
|  | 
 | ||||||
|  | 						// You can use the PPID (or preferably a hash of it) as the login for your app | ||||||
|  | 						// (it securely functions as both username and password which is known only by your app) | ||||||
|  | 						// If you use a hash of it as an ID, you can also use the PPID itself as a decryption key | ||||||
|  | 						// | ||||||
|  | 						console.info('Secure PPID (aka subject):', session.token.sub); | ||||||
|  | 
 | ||||||
|  | 						return oauth3.request({ | ||||||
|  | 							url: 'https://api.oauth3.org/api/issuer@oauth3.org/jwks/:sub/:kid.json' | ||||||
|  |                 .replace(/:sub/g, session.token.sub) | ||||||
|  |                 .replace(/:kid/g, session.token.iss) | ||||||
|  | 						, session: session | ||||||
|  | 						}).then(function (resp) { | ||||||
|  |               console.info("Public Key:"); | ||||||
|  |               console.log(resp.data); | ||||||
|  | 
 | ||||||
|  |               return oauth3.request({ | ||||||
|  |                 url: 'https://api.oauth3.org/api/issuer@oauth3.org/acl/profile' | ||||||
|  |               , session: session | ||||||
|  |               }).then(function (resp) { | ||||||
|  | 
 | ||||||
|  |                 console.info("Inspect Token:"); | ||||||
|  |                 console.log(resp.data); | ||||||
|  | 
 | ||||||
|  |               }); | ||||||
|  | 
 | ||||||
|  | 						}); | ||||||
|  | 
 | ||||||
|  | 					}, function (err) { | ||||||
|  | 						console.error('Authentication Failed:'); | ||||||
|  | 						console.log(err); | ||||||
|  | 					}); | ||||||
|  | 
 | ||||||
|  | 				} | ||||||
|  |         $('body form.js-auth-form').addEventListener('submit', onClickLogin); | ||||||
|  |         onChangeProvider('oauth3.org'); | ||||||
|  |       }()); | ||||||
|  |     </script> | ||||||
|     <script src="js/app.js"></script> |     <script src="js/app.js"></script> | ||||||
|   </body> |   </body> | ||||||
| </html> | </html> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user