2017-03-04 67 views
0

如何使用JWT与API交互。 我已经给了一个API url,一个集成键和一个持票人,并且我被告知要使用“POST集成键”获得我的标记 我需要将数据从系统中取出并存入我们的MS SQL数据库中,最好使用SSIS包。使用JWT与API交互

我之前使用过curl的REST API来更新和获取我的IP地址,我只需通过网站设置一个API密钥并运行如下所示的命令。

curl -u abcdabcd-abcd-abcd-abcd-abcdabcdabcd:x -X GET https://web.site.com/api/v1/addresses.json 

我明白了什么是智威汤逊一点点,因为在它的编码为header.payload.signature,但我很困惑,我该怎么走出去系统的数据转换成用矿之一。

  • 我得到了什么持票人?
  • 我必须使用集成密钥和持卡人从那里获取JWT系统吗?
  • 我会使用那个JWT与API进行交互吗?
  • 会不会是与上述curl命令一样简单,我需要编写使用的图书馆之一的脚本上jwt.io

回答

0

后最终供应商/开发商之间大约10封电子邮件,要求适当的文件他告诉我他的系统使用JWT,他给我发送了他如何使用邮递员测试API的截图。从他的截图中,我能够弄清楚需要做什么,下面是我的powershell实现,如果它有益于任何人。

#$fromdate = (Get-Date).AddDays(-7) 
$fromdate = '01/01/2016' 

[string]$body = '{"IntegrationKey":"abcdabcd-abcd-abcd-abcd-abcdabcdabcd"}' 

$URI = "https://web.site.com/api/token" 
# -ProxyUseDefaultCredentials 
(New-Object System.Net.WebClient).Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials 

[string]$jwt = Invoke-WebRequest $uri -Method post -ContentType 'application/json; charset=UTF-8' -Body $body 

$headers = @{"Authorization"="Bearer "+ $jwt.replace("`"","")} 

$uri = "https://web.site.com/api/GetData?startDate=" + $fromdate 
$response = ".\ResponseData.json" 

Invoke-WebRequest $uri -Method get -Headers $headers -TimeoutSec 6000 -OutFile $response