Db2 ibm_db (Python):如何使用 JWT 访问令牌进行连接?

Db2 ibm_db (Python): How to connect using a JWT access token?

Db2 Python driver the connect API如下。

import ibm_db
#use connection string
conn=ibm_db.connect("DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password",'','')

我需要哪些参数才能使用 Db2 LUW 11.5.4 中引入的 token authentication

我必须使用至少 11.5.4 的 Db2 客户端。连接字符串需要包含以下 JWT 或令牌相关关键字(在 list of CLI/ODBC configuration keywords 中找到):

  • 身份验证=令牌
  • A​​CCESSTOKENTYPE=JWT
  • A​​CCESSTOKEN= 与实际 JWT 值

将其付诸实践,以下代码片段可以使用 JWT 成功连接:

#!/usr/bin/python3
import ibm_db, os

# get token from environment    
TOKEN=os.getenv("TOKEN","invalid")
connstring="""DATABASE=testdb;HOSTNAME=localhost;PORT=50000;
              AUTHENTICATION=TOKEN;ACCESSTOKEN={};ACCESSTOKENTYPE=JWT""".format(TOKEN)
conn=ibm_db.connect(connstring,'','')
if conn:
    print ("Connection succeeded.")
    ibm_db.close(conn)
else:
    print("failed")