daplie.me
Welcome to a new way to login. daplie.me helps you create an Internet ID that allows you to choose what info is shared about you when you login into a site or app online.
daplie.me
Hi, thanks for signing up.
Please enter the code sent to:
Be sure to check your spam.
daplie.me
Almost done. Now it's time to set your preferences.
Sign out of Daplie and all Applications?
OAUTH3.clientUri({ host: "" });
OAUTH3.discover("", opts);
OAUTH3.urls.discover("", opts);
0. Include the Library
# Browsers
<script src="oauth3.core.js"></script>
var OAUTH3 = window.OAUTH3;
# Node.js
var OAUTH3 = require('oauth3.js').OAUTH3;
1. Establish the Client ID by its URI
# Browsers
var clientUri = OAUTH3.clientUri(window.location); // example.com
# Node.js
var clientUri = OAUTH3.clientUri("https://example.com"); // example.com
2. Provide promisable storage hooks for saving sessions and caching directives
OAUTH3._hooks = {
directives: {
get: function (providerUri) { ... }
, set: function (providerUri, directives) { ... }
, all: function () { ... }
, clear: function () { ... }
, sessions: {
get: function (providerUri, id) { ... }
, set: function (providerUri, newSession, id) { ... }
, all: function (providerUri) { ... }
, clear: function (providerUri) { ... }
}
};
SECURITY: The default storage engine is window.sessionStorage. Session storage
should be used for app:// urls and localhost urls and other applications
in which the identity of the app is ephemeral, arbitrary, or not distinct.
OAUTH3.hooks.session.get(providerUri).then(function (session) {
console.log('[DEBUG] session:');
console.log(session);
});
OAUTH3.hooks.session.all().then(function (sessions) {
console.log('[DEBUG] all sessions:');
console.log(sessions);
});
Note: expired sessions should not be returned and stale sessions should be refreshed
4. Prompt the user for their address and perform the lookup to see if it has a provider.
var providerUri = address.split('@')[1] || address;
var opts = { client_uri: clientUri };
OAUTH3.discover(providerUri, opts).then(function (dir) {
console.log('[DEBUG] directives:');
console.log(dir);
});
4.