This is an angular wrapper for twitter fabric's digits sdk. It bridges the gap between Angular's digest cycle and the foreign SDK by applying the asynchronous events to the digest cycle. It also provides convenient models to provide insight to the responses from the API (if the workflow was closed by the user, popup was blocked, etc).
angular.module('app', ['atticoos.digits'])
.config(function (DigitsProvider) {
// configure the provider before the application's run phase
DigitsProvider.setConsumerKey('XXX');
})
.run(function (Digits) {
Digits.login().then(function (loginResponse) {
// successfully logged in
}).catch(function (error) {
// a decorated error object describing the issue logging in
if (error.wasPopupBlocked()) {
// popup blocked
} else if (error.wasWindowClosed()) {
// user closed the window
} else {
// something else
}
});
});
This wrapper comes with some convenient models for better transparency of state and response information from the Digits SDK. It is suggested by the Digits SDK Docs that you securely verify the response data when logging in.
Digits.login().then(function (loginResponse) { });
Returns: Object
Returns the headers used to perform verification of the login response (X-Verify-Credentials-Authorization
and X-Auth-Service-Provider
)
{
authorization: 'xx',
url: 'https://xx'
}
Digits.login().catch(function (loginError) { });
Returns: Boolean
Indicates if the workflow was aborted directly by the user closing the window before the process had completed
Returns: Boolean
Indicates if the browser prevented the workflow by blocking the popup
The type
attribute from the original response object
The message
attribute from the original response object