44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
openerp.auth_oauth = function(instance) {
|
|
var QWeb = instance.web.qweb;
|
|
|
|
instance.web.Login = instance.web.Login.extend({
|
|
start: function(parent, params) {
|
|
this._super.apply(this, arguments);
|
|
var self = this;
|
|
self.$element.on('click', '.oe_login_oauth a', this.on_google_oauth);
|
|
},
|
|
oauth_url: function(state) {
|
|
var endpoint = 'https://accounts.google.com/o/oauth2/auth';
|
|
var params = {
|
|
response_type: 'token',
|
|
client_id: '108010644258-duuhmp6pu7li4tsmnqg7j9rvdeklg0ki.apps.googleusercontent.com',
|
|
redirect_uri: 'https://localhost/',
|
|
scope: 'https://www.googleapis.com/auth/userinfo.email',
|
|
state: state,
|
|
};
|
|
var url = endpoint + '?' + $.param(params);
|
|
return url;
|
|
},
|
|
on_google_oauth: function(ev) {
|
|
var dbname = self.$("form [name=db]").val();
|
|
var url = this.oauth_url(dbname);
|
|
window.location = url;
|
|
},
|
|
});
|
|
|
|
instance.web.WebClient = instance.web.WebClient.extend({
|
|
start: function() {
|
|
this._super.apply(this, arguments);
|
|
var params = $.deparam(window.location.hash);
|
|
if (params.hasOwnProperty('access_token')) {
|
|
// fix params for python marshmalling
|
|
params.state = params["#state"]
|
|
delete params["#state"]
|
|
var url = "/auth_oauth/signin" + '?' + $.param(params);
|
|
window.location = url;
|
|
}
|
|
},
|
|
});
|
|
|
|
};
|