2016-04-14 42 views
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 
 
    } 
 
}'
憑據0

在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" 
 
     } 
 
    } 
 
    } 
 
}

謝謝!

回答