如何将 IBM Cloud App ID 配置为开放工具链的一部分?

How can I configure IBM Cloud App ID as part of an open toolchain?

我正在使用 IBM Cloud App ID for user management / authentication and Continuous Delivery 和工具链将应用程序部署到 IBM Cloud。有一个 API 来配置 App ID,例如,设置密码强度或禁用注册时的电子邮件验证。

如何在工具链的部署脚本中使用 API?

这可以通过使用 IBM Cloud 平台的 IAM(身份和访问管理)令牌登录来完成,然后获取 App ID 凭据以对配置本身进行 API 调用。

#!/bin/bash
echo Login IBM Cloud api=$CF_TARGET_URL org=$CF_ORG space=$CF_SPACE
bx login -a "$CF_TARGET_URL" --apikey "$IAM_API_KEY" -o "$CF_ORG" -s "$CF_SPACE"


# Set up App ID service
#
# Create service key from which to obtain managementUrl
bx service key-create ${PREFIX}insurance-bot-appid for-pipeline
# managementUrl includes tenantId
APPID_MGMT_URL=`bx service key-show ${PREFIX}insurance-bot-appid for-pipeline | grep "\"managementUrl\"" | awk '{print }' | tr -d '","'`
# We need the IAM token
IAM_OAUTH_TOKEN=`bx iam oauth-tokens | sed -n 1p | awk 'NF>1{print $NF}'`
# Now configure App ID for Cloud Directory
FILENAME=".bluemix/appid-config.json"
curl -v -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' \
           --header "Authorization: Bearer $IAM_OAUTH_TOKEN" \
           -d @$FILENAME  $APPID_MGMT_URL/config/idps/cloud_directory

我在这个 deploy script which is part of a demo 中找到了上面的代码,其中包含多个服务和微服务架构。