Как пройти аутентификацию с помощью Kubeflow Pipelines API
Я надеюсь поэкспериментировать с запуском конвейеров с использованием необработанного API-интерфейса Kubeflow Pipeline, но информации о том, как аутентифицироваться, очень мало. Вся информация, которую я могу найти на https://www.kubeflow.org/docs/pipelines/reference/api/kubeflow-pipeline-api-spec/:
Безопасность
Тип носителя: apiKey
-
Имя: авторизация
В: заголовок
И при отправке запроса с недопустимым токеном-носителем я знаю, что он ожидает JWT, но я понятия не имею, как его сгенерировать.
Invalid IAP credentials: Expected JWT to have 3 parts separated by a '.' but there are 1 parts
Можно ли это сделать без использования kfp
?
0 ответов
Без "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 { ... }