Я могу направить URL-адрес единого входа с помощью скрипта Apps в Google Sheets.
function start(){
var authorize_url = 'https://login.eveonline.com/oauth/authorize/';
var response_type = '?response_type=code';
var redirect_uri = '&redirect_uri=http://localhost:4200/';
var client_id_val = 'id_string';
var client_id = '&client_id='+client_id_val;
var client_secret = 'secret_string';
var scope = '&scope=esi-assets.read_assets.v1';
var client_64 = 'clientString';
var authHeader = 'Basic '+client_64;
var tokenPOSTUrl = 'https://login.eveonline.com/oauth/token';
var SSOUrl = authorize_url
+response_type
+redirect_uri
+client_id
+scope;
var options = {
"followRedirects" : true
};
var result = UrlFetchApp.getRequest("http://localhost:4200/auth", options);
ConnectInventory(SSOUrl);
}
function ConnectInventory(authUrl){
var ui = SpreadsheetApp.getUi();
var result = ui.alert(
'SSO for inventory upload',
ui.ButtonSet.OK);
if(result == ui.Button.OK){
SSOTab(authUrl);
};
}
function SSOTab(SSOUrl){
var html = "<script>window.open('"+SSOUrl+"');google.script.host.close();</script>";
var userInterface = HtmlService.createHtmlOutput(html);
}
После успешного входа в систему через единый вход есть обратный адрес, на который сервер SSO пытается выполнить маршрутизацию. В приложении это направляется компоненту, который что-то делает с результатом.
Однако я ничего не получаю, когда единый вход завершен успешно. Есть ли способ выполнить sh возвратную маршрутизацию с помощью Google Sheets и Apps Script?