0
使用API文檔公共應用,我們試圖用這個驗證: 主要驗證與公共應用:1563 - 主認證與使用VB.Net
http://developer.okta.com/docs/api/resources/authn.html#primary-authentication-with-public-application: 與進行身份驗證的用戶名/密碼的用戶通過公共應用
請求Example
curl -v -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"username": "[email protected]",
"password": "correcthorsebatterystaple",
"relayState": "/myapp/some/deep/link/i/want/to/return/to",
"options": {
"multiOptionalFactorEnroll": false,
"warnBeforePasswordExpired": false
}
}'
在VB.Net嘗試這個,我們得到:
Dim request As WebRequest = WebRequest.Create("https://dev-XXX.oktapreview.com/api/v1/authn")
request.Credentials = New NetworkCredential(.UserName, .Password)
request.ContentType = "application/json"
request.Method = "POST"
Dim response As WebResponse = request.GetResponse()
當我們得到的響應,它給人的「遠程服務器返回錯誤的錯誤:(400 ) 錯誤的請求。」並沒有更多有用的信息。
顯然,我們想要做的是做的正確格式化參數的WebRequest並返回一個WebResponse的,我們可以查詢的成功響應:提前
{
"expiresAt": "2015-11-03T10:15:57.000Z",
"status": "SUCCESS",
"relayState": "/myapp/some/deep/link/i/want/to/return/to",
"sessionToken": "00Fpzf4en68pCXTsMjcX8JPMctzN2Wiw4LDOBL_9pe",
"_embedded": {
"user": {
"id": "00ub0oNGTSWTBKOLGLNR",
"passwordChanged": "2015-09-08T20:14:45.000Z",
"profile": {
"login": "[email protected]",
"firstName": "Dade",
"lastName": "Murphy",
"locale": "en_US",
"timeZone": "America/Los_Angeles"
}
}
}
}
謝謝!
謝謝您的迴應,托馬斯! –
工作完美,非常感謝! –