updates and add setIdentityProvider and setResourceProvider
This commit is contained in:
		
							parent
							
								
									2bf75a7429
								
							
						
					
					
						commit
						a3b038ffdc
					
				
							
								
								
									
										46
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								README.md
									
									
									
									
									
								
							| @ -20,7 +20,7 @@ If you have no idea what you're doing | |||||||
| 1. Create a folder for your project named after your app, such as `example.com/` | 1. Create a folder for your project named after your app, such as `example.com/` | ||||||
| 2. Inside of the folder `example.com/` a folder called `assets/` | 2. Inside of the folder `example.com/` a folder called `assets/` | ||||||
| 3. Inside of the folder `example.com/assets` a folder called `org.oauth3/` | 3. Inside of the folder `example.com/assets` a folder called `org.oauth3/` | ||||||
| 4. Download [oauth.js-v1.zip](https://git.daplie.com/OAuth3/oauth3.js/repository/archive.zip?ref=v1) | 4. Download [oauth3.js-v1.zip](https://git.daplie.com/OAuth3/oauth3.js/repository/archive.zip?ref=v1) | ||||||
| 5. Double-click to unzip the folder. | 5. Double-click to unzip the folder. | ||||||
| 6. Copy the file `oauth3.core.js` into the folder `example.com/assets/org.oauth3/` | 6. Copy the file `oauth3.core.js` into the folder `example.com/assets/org.oauth3/` | ||||||
| 7. Copy the folder `well-known` into the folder `example.com/` | 7. Copy the folder `well-known` into the folder `example.com/` | ||||||
| @ -61,7 +61,7 @@ var auth = OAUTH3.create(window.location); // use window.location to set Client | |||||||
| // | // | ||||||
| function onChangeProvider(_providerUri) { | function onChangeProvider(_providerUri) { | ||||||
|   // example https://oauth3.org |   // example https://oauth3.org | ||||||
|   return auth.setProvider(providerUri); |   return oauth3.setIdentityProvider(providerUri); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -69,7 +69,7 @@ function onChangeProvider(_providerUri) { | |||||||
| // | // | ||||||
| function onClickLogin() { | function onClickLogin() { | ||||||
| 
 | 
 | ||||||
|   return auth.authenticate().then(function (session) { |   return oauth3.authenticate().then(function (session) { | ||||||
| 
 | 
 | ||||||
|     console.info('Authentication was Successful:'); |     console.info('Authentication was Successful:'); | ||||||
|     console.log(session); |     console.log(session); | ||||||
| @ -80,7 +80,7 @@ function onClickLogin() { | |||||||
|     // |     // | ||||||
|     console.info('Secure PPID (aka subject):', session.token.sub); |     console.info('Secure PPID (aka subject):', session.token.sub); | ||||||
| 
 | 
 | ||||||
|     return auth.request({ |     return oauth3.request({ | ||||||
|       url: 'https://oauth3.org/api/org.oauth3.provider/inspect' |       url: 'https://oauth3.org/api/org.oauth3.provider/inspect' | ||||||
|     , session: session |     , session: session | ||||||
|     }).then(function (resp) { |     }).then(function (resp) { | ||||||
| @ -102,7 +102,7 @@ function onClickLogin() { | |||||||
| // | // | ||||||
| function onClickLogout() { | function onClickLogout() { | ||||||
| 
 | 
 | ||||||
|   return auth.logout().then(function () { |   return oauth3.logout().then(function () { | ||||||
|     localStorage.clear(); |     localStorage.clear(); | ||||||
| 
 | 
 | ||||||
|     console.info('Logout was Successful'); |     console.info('Logout was Successful'); | ||||||
| @ -284,29 +284,33 @@ We include a small wrapper function of just a few lines in the bottom of `oauth3 | |||||||
| which exposes a `create` method to make using the underlying library require typing fewer keystrokes. | which exposes a `create` method to make using the underlying library require typing fewer keystrokes. | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| auth = OAUTH3.create(location);                   // takes a location object, such as window.location | oauth3 = OAUTH3.create(location);                   // takes a location object, such as window.location | ||||||
|                                                   // to create the Client URI (your app's id) |                                                     // to create the Client URI (your app's id) | ||||||
|                                                   // and save it to an internal state |                                                     // and save it to an internal state | ||||||
| 
 | 
 | ||||||
| promise = auth.init(location);                    // set and fetch your own site/app's configuration details | promise = oauth3.init(location);                    // set and fetch your own site/app's configuration details | ||||||
| // promises your site's config | // promises your site's config | ||||||
| 
 | 
 | ||||||
| promise = auth.setProvider(url);                  // changes the Provider URI (the site you're logging into), | promise = oauth3.setIdentityProvider(url);          // changes the Identity Provider URI (the site you're logging into), | ||||||
| // promises the provider's config                 // gets the config for that site (from their .well-known/oauth3), | // promises the provider's config                   // gets the config for that site (from their .well-known/oauth3), | ||||||
|                                                   // and caches it in internal state as the default |                                                     // and caches it in internal state as the default | ||||||
| 
 | 
 | ||||||
| promise = auth.authenticate();                    // opens login window for the provider and returns a session | promise = oauth3.setResourceProvider(url);          // changes the Resource Provider URI (the site you're getting stuff from) | ||||||
|                                                   // (must be called after the setProvider promise has completed) |  | ||||||
| 
 | 
 | ||||||
| promise = auth.authorize(permissions);            // authenticates (if not authenticated) and opens a window to | promise = oauth3.setProvider(url);                  // changes the both Identity and Resource Provider URI together | ||||||
|                                                   // authorize a particular scope (contacts, photos, whatever) |  | ||||||
| 
 | 
 | ||||||
| promise = auth.request({ url, method, data });    // make an (authorized) request to a provider's resource | promise = oauth3.authenticate();                    // opens login window for the provider and returns a session | ||||||
|                                                   // (contacts, photos, whatever) |                                                     // (must be called after the setIdentityProvider promise has completed) | ||||||
| 
 | 
 | ||||||
| promise = auth.logout();                          // opens logout window for the provider | promise = oauth3.authorize(permissions);            // authenticates (if not authenticated) and opens a window to | ||||||
|  |                                                     // authorize a particular scope (contacts, photos, whatever) | ||||||
| 
 | 
 | ||||||
| auth.session();                                   // returns the current session, if any | promise = oauth3.request({ url, method, data });    // make an (authorized) request to a provider's resource | ||||||
|  |                                                     // (contacts, photos, whatever) | ||||||
|  | 
 | ||||||
|  | promise = oauth3.logout();                          // opens logout window for the provider | ||||||
|  | 
 | ||||||
|  | oauth3.session();                                   // returns the current session, if any | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -437,7 +441,7 @@ Since we do not require the `protocol` to be specified, it is a URI | |||||||
| However, we do have a problem of disambiguation since a URI may look like a `path`: | However, we do have a problem of disambiguation since a URI may look like a `path`: | ||||||
| 
 | 
 | ||||||
| 1. https://example.com/api/org.oauth3.provider | 1. https://example.com/api/org.oauth3.provider | ||||||
| 2. example.com/api/org.oauth.provider/ (not unique) | 2. example.com/api/org.oauth3.provider/ (not unique) | ||||||
| 3. /api/org.oauth3.provider | 3. /api/org.oauth3.provider | ||||||
| 4. api/org.oauth3.provider (not unique) | 4. api/org.oauth3.provider (not unique) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user