Идентификатор приложения Custom Widget для SPA-сервера

Как создать пользовательский виджет входа в систему IBM Cloud App ID (облачный каталог) для защищенного приложения SPA сервера?

Защищенное приложение SPA будет использовать только IBM Cloud Functions через Gateway API.

Должен ли я просто реализовать https://github.com/ibm-cloud-security/appid-serversdk-nodejs как облачную функцию, чтобы настроить виджет и сохранить свои серверные приложения так, как я хочу?

Я не мог найти подсказку из документов https://console.bluemix.net/catalog/services/app-id

Идеи?

@Jarkko

1 ответ

Решение

Если вы не хотите использовать виджет входа в систему с идентификатором приложения, вместо этого соберите учетные данные самостоятельно и используйте ROP REST API из облачной функции. Вы можете сделать что-то вроде этого:

let request = require('request');

// put your App ID credentials here (can be found in App ID console):
let credentials = {
    "version": 3,
    "clientId": "xxxxx",
    "secret": "xxxxx",
    "tenantId": "xxxxx",
    "oauthServerUrl": "https://appid-oauth.eu-gb.bluemix.net/oauth/v3/xxxxx",
    "profilesUrl": "https://appid-profiles.eu-gb.bluemix.net"
};


function main(params) {
    return new Promise(function (resolve, reject) {
        request({
            url: credentials.oauthServerUrl + '/token',
            method: 'POST',
            auth: {
                username: credentials.clientId,
                password: credentials.secret
            },
            form: {

                grant_type: "password",
                // replace with actual credentials:
                username: "aaa@bbb.com",
                password: "11111111"
            }
        }, function (error, response, body) {
            resolve(response);
            // handle errors...
        });
    })
}

В этом случае ответом будет маркер доступа к идентификатору приложения.

Другие вопросы по тегам