initial import for Open Source 🎉
This commit is contained in:
parent
1898c361f3
commit
9c0dd3b722
2048 changed files with 218743 additions and 0 deletions
43
static/js/services/external-login-service.js
Normal file
43
static/js/services/external-login-service.js
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* Service which exposes the supported external logins.
|
||||
*/
|
||||
angular.module('quay').factory('ExternalLoginService', ['Features', 'Config', 'ApiService',
|
||||
function(Features, Config, ApiService) {
|
||||
var externalLoginService = {};
|
||||
|
||||
externalLoginService.EXTERNAL_LOGINS = window.__external_login || [];
|
||||
|
||||
externalLoginService.getLoginUrl = function(loginService, action, callback) {
|
||||
var errorDisplay = ApiService.errorDisplay('Could not load external login service ' +
|
||||
'information. Please contact your service ' +
|
||||
'administrator.')
|
||||
|
||||
var params = {
|
||||
'service_id': loginService['id']
|
||||
};
|
||||
|
||||
var data = {
|
||||
'kind': action
|
||||
};
|
||||
|
||||
ApiService.retrieveExternalLoginAuthorizationUrl(data, params).then(function(resp) {
|
||||
callback(resp['auth_url']);
|
||||
}, errorDisplay);
|
||||
};
|
||||
|
||||
externalLoginService.hasSingleSignin = function() {
|
||||
return externalLoginService.EXTERNAL_LOGINS.length == 1 && !Features.DIRECT_LOGIN;
|
||||
};
|
||||
|
||||
externalLoginService.getSingleSigninUrl = function(callback) {
|
||||
if (!externalLoginService.hasSingleSignin()) {
|
||||
return callback(null);
|
||||
}
|
||||
|
||||
// If there is a single external login service and direct login is disabled,
|
||||
// then redirect to the external login directly.
|
||||
externalLoginService.getLoginUrl(externalLoginService.EXTERNAL_LOGINS[0], 'login', callback);
|
||||
};
|
||||
|
||||
return externalLoginService;
|
||||
}]);
|
||||
Reference in a new issue