我正在尝试使用Okta API。
我在cmd中输入的命令是:
curl -v -H "Authorization: SSWS MyAPITokenHERE" \
-H "Accept: application/json" -H "Content-Type: application/json" \
-X GET "https://MyDomain.okta.com/api/v1/apps"
*注意我在行尾用反斜杠格式化以便更好地阅读。
以上命令是根据API文档的格式。
C:\Users\MyAccount>curl -v -H "Authorization: SSWS MyApiToken" -H "Accept: application/json" -H "Content-Type: application/json" -X
GET "https://MyDomain.okta.com/api/v1/apps" --cert-type (SSL)
* About to connect() to mydomain.okta.com port 443 (#0)
* Trying 99.99.999.999...
* connected
* Connected to mydomain.okta.com (99.99.999.999) port 443 (#0)
* error setting certificate verify locations:
CAfile: /usr/ssl/certs/ca-bundle.crt
CApath: none
* Closing connection #0
curl: (77) error setting certificate verify locations:
CAfile: /usr/ssl/certs/ca-bundle.crt
CApath: none
我已尝试将认证类型设置为SSL,但没有修复它。我目前正在阅读文档和stackoverflow问题,但没有运气。
如果有人能够解释这个&amp ;;背后的原因,我将不胜感激。帮我弄清楚我需要做什么?提前谢谢。
Okta API文档 https://github.com/okta/api/blob/master/docs/getting_started/design_principles.md
CURL文档 http://curl.haxx.se/docs/manpage.html
更新 我添加了可选参数[-k]以禁止SSL检查,但仍想知道问题可能是什么
curl -v -H "Authorization: SSWS MyAPITokenHERE" \
-H "Accept: application/json" -H "Content-Type: application/json" \
-X GET "https://MyDomain.okta.com/api/v1/apps" -k
答案 0 :(得分:1)
同时使用curl命令添加-k
参数,以通过忽略ssl验证来克服此ssl错误。
答案 1 :(得分:0)
Curl需要知道/信任用于签署Okta证书的证书。当您使用curl时,此证书应位于文件/usr/ssl/certs/ca-bundle.crt
中(并且此文件需要由运行curl命令的用户读取)。您可以从Curl Cert Authority Bundle网页下载该捆绑包的当前副本(包括您需要的证书)。