kubeflow-pipelines - 如何使用 Kubeflow Pipelines API 进行身份验证
问题描述
我希望尝试使用原始的 Kubeflow Pipeline API 来触发管道,但是关于如何进行身份验证的信息很少。我可以在https://www.kubeflow.org/docs/pipelines/reference/api/kubeflow-pipeline-api-spec/中找到的所有信息是:
安全
Bearer
Type: apiKey
--
Name: 授权
In: header
当发送带有无效承载令牌的请求时,我知道它需要一个 JWT,但我不知道如何生成一个。
Invalid IAP credentials: Expected JWT to have 3 parts separated by a '.' but there are 1 parts
不使用可以做到这一点kfp
吗?
解决方案
没有 'kfp' 会非常混乱且难以自动化。
无论如何,这是一种方法
0) curl -v http://$SERVICE:$PORT
Response:
>> <a href="/dex/auth?client_id=kubeflow-oidc-authservice&redirect_uri=%2Flogin%2Foidc&response_type=code&scope=profile+email+groups+openid&state=STATE_VALUE">Found</a>.
STATE=STATE_VALUE
1) curl -v "http://$SERVICE:$PORT/dex/auth?client_id=kubeflow-oidc-authservice&redirect_uri=%2Flogin%2Foidc&response_type=code&scope=profile+email+groups+openid&state=$STATE_VALUE"
Response:
>> <a href="/dex/auth/local?req=REQ_VALUE">Found</a>
REQ=REQ_VALUE
2) curl -v 'http://$SERVICE:$PORT/dex/auth/local?req=REQ_VALUE' -H 'Content-Type: application/x-www-form-urlencoded' --data 'login=admin%40kubeflow.org&password=12341234'
3) curl -v 'http://$SERVICE:$PORT/dex/approval?req=$REQ_VALUE'
Response:
>> <a href="/login/oidc?code=CODE_VALUE&state=STATE_VALUE">See Other</a>.
CODE=CODE_VALUE
4) curl -v 'http://$SERVICE:$PORT/login/oidc?code=$CODE_VALUE&state=$STATE_VALUE'
Response:
>> set cookie authservice_session=SESSION
5) curl -v 'http://$SERVICE:$PORT/pipeline/apis/v1beta1/pipelines' -H 'Cookie: authservice_session=SESSION'
Response:
>> 200 OK { ... }
推荐阅读
- android - 如何从项目刷新活动
() 班级? - python-3.x - openCV mobilenet SSD转发功能中的断言失败
- java - 如何比较两个给定字符串的最后 10 个字符?
- javascript - 路由控件名称并添加自定义标记
- java - Java:限制对复合类方法的访问(接口和组合)
- c# - 如何在邮寄标签水晶报表中复制标签?
- list - 为什么 `(read)` 值列表在 Scheme 中以相反的顺序出现?
- c# - 无法访问 MVC 控制器中 Web Api 控制器设置的 cookie
- sql - VB.Net 命令对象 SQL 查询返回 Null 或 0
- python - 保持套接字打开直到客户端终止