我已注册IBM Cloud App ID以保护对我的云应用程序的访问权限。有一个示例表明该服务可以与Python一起使用。但是,我想使用其中一个(标准)OpenID Connect模块。如何配置,例如Flask-pyoidc以使用App ID?它需要几个参数,我不确定它们与App ID提供的内容有什么关系。
Array
答案 0 :(得分:1)
以下是provider_config
的配置方式。
provider_config={
"issuer": "appid-oauth.ng.bluemix.net",
"authorization_endpoint": appIDInfo['oauthServerUrl']+"/authorization",
"token_endpoint": appIDInfo['oauthServerUrl']+"/token",
"userinfo_endpoint": appIDInfo['profilesUrl']+"/api/v1/attributes",
"jwks_uri": appIDInfo['oauthServerUrl']+"/publickeys"
}
appIDInfo
可以从IBM Cloud上的Cloud Foundry环境获得,也可以使用以下结构手动配置:
"AppID": {
"clientId": "your App ID client Id",
"managementUrl": "https://appid-management.ng.bluemix.net/management/v4/-----tenantID----",
"oauthServerUrl": "https://appid-oauth.ng.bluemix.net/oauth/v3/-----tenantID----",
"profilesUrl": "https://appid-profiles.ng.bluemix.net",
"secret": "the App ID secret",
"tenantId": "-----tenantID----",
"version": 3
}
然后clientId
和secret
将用于填充Flask-pyoidc所需的client_info
对象。我有sample code using Flask-pyoidc with App ID in a GitHub repository。它显示了从配置到使用装饰器保护Flask中的应用程序路径的所有步骤。