如何通过Okta SDK或API按Profile的Source值筛选Okta应用
按Profile值筛选Okta应用的实现方法
可以通过Okta REST API或官方SDK实现按profile.source值筛选应用的需求,具体方法如下:
一、使用Okta REST API
Okta的List Apps端点支持通过filter参数进行嵌套字段筛选,直接用点语法指定profile.source的匹配条件即可:
请求示例(curl)
curl -X GET "https://${yourOktaDomain}/api/v1/apps?filter=profile.source%20eq%20%22test%22" \ -H "Accept: application/json" \ -H "Authorization: SSWS ${yourApiToken}"
- 注意:URL中的筛选条件需要做URL编码,比如空格替换为
%20,双引号替换为%22;如果是在代码中发送请求,多数HTTP库会自动处理编码。 - 权限要求:你的API Token需要拥有
okta.apps.read权限。
二、使用Okta官方SDK
以Python SDK为例,其他语言(Java、JavaScript、Go等)的SDK逻辑一致,都是通过传入filter参数实现筛选:
步骤1:安装SDK
pip install okta
步骤2:筛选代码示例
from okta.client import Client as OktaClient import asyncio async def get_apps_with_source_test(): # 初始化客户端 okta_config = { "orgUrl": "https://${yourOktaDomain}", "token": "${yourApiToken}" } client = OktaClient(okta_config) # 构造筛选表达式 filter_condition = 'profile.source eq "test"' # 获取筛选后的应用列表 apps, _, err = await client.list_apps(query_params={"filter": filter_condition}) if err: print(f"筛选失败: {err}") return # 输出结果 for app in apps: print(f"应用标签: {app.label}, Source值: {app.profile.get('source')}") # 执行异步函数 asyncio.run(get_apps_with_source_test())
内容的提问来源于stack exchange,提问作者fereshteh rabet
相关产品推荐
相关产品推荐

