代码集成

更新时间:
复制为 MD 格式

适用范围

已完成环境准备工作,相关配置参见环境准备

SDK 初始化

读取用户在环境准备阶段指定的配置文件,完成 IDaaS 配置的初始化。

重要

SDK 在初始化时会自动检查配置文件,并尝试获取配置文件中 Scope 对应的 Token。如获取失败,系统将直接报错并中断初始化过程,确保问题提前暴露,避免服务初始化完成后访问失败。

IDaaSCredentialProviderFactory.init()

获取 Access Token

  1. 获取 IDaaS credentialProvider,用于获取 Access Token。

    1. 获取 IDaaS credentialProvider,获取访问配置文件中指定的 scope 的 Access Token。

    credential_provider = IDaaSCredentialProviderFactory.get_idaas_credential_provider()
    1. 获取 IDaaS credentialProvider,scope 可自行指定,获取访问指定的 scope 的 Access Token,形式为受众标识|权限标识,对应所要访问的 M2M 服务端应用的受众标识和权限标识。

    credential_provider_by_scope = IDaaSCredentialProviderFactory.get_idaas_credential_provider_by_scope(scope)
  2. Access Token 是 Bearer 类型,通过 credentialProvider 的 getBearerToken() 方法获取。

    access_token = credential_provider.get_bearer_token()

代码示例

from cloud_idaas.core import IDaaSCredentialProviderFactory

if __name__ == "__main__":
    IDaaSCredentialProviderFactory.init()

    credential_provider = IDaaSCredentialProviderFactory.get_idaas_credential_provider()
    access_token = credential_provider.get_bearer_token()

    # scope = "urn:cloud:idaas:pam|credential:obtain"
    # credential_provider_by_scope = IDaaSCredentialProviderFactory.get_idaas_credential_provider_by_scope(scope)
    # access_token = credential_provider_by_scope.get_bearer_token()

    print("Access Token: \n" + access_token)