![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) AzureWebsites OAuth2 Password FlowDemonstrates how to do OAuth 2.0 password flow for azurewebsites.net. Note: This example requires Chilkat v11.0.0 or greater.
LOCAL lnSuccess LOCAL loHttp LOCAL loReq LOCAL lcTokenEndpoint LOCAL loResp LOCAL loSbResponseBody LOCAL loJResp LOCAL lnRespStatusCode LOCAL loSbXml LOCAL lcDestUrl lnSuccess = 0 * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. loHttp = CreateObject('Chilkat.Http') loReq = CreateObject('Chilkat.HttpRequest') loReq.HttpVerb = "POST" loReq.Path = "/token" loReq.ContentType = "application/x-www-form-urlencoded" loReq.AddParam("grant_type","password") loReq.AddParam("username","your_username") loReq.AddParam("password","your_password") lcTokenEndpoint = "https://your_api.azurewebsites.net/token" loResp = CreateObject('Chilkat.HttpResponse') lnSuccess = loHttp.HttpReq(lcTokenEndpoint,loReq,loResp) IF (lnSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loReq RELEASE loResp CANCEL ENDIF loSbResponseBody = CreateObject('Chilkat.StringBuilder') loResp.GetBodySb(loSbResponseBody) loJResp = CreateObject('Chilkat.JsonObject') loJResp.LoadSb(loSbResponseBody) loJResp.EmitCompact = 0 ? "Response Body:" ? loJResp.Emit() * Sample JSON response: * { * "access_token": "NQGHn ... xTS", * "token_type": "bearer", * "expires_in": 1209599, * "userName": "your_username", * ".issued": "Mon, 27 Apr 2020 23:49:35 GMT", * ".expires": "Mon, 11 May 2020 23:49:35 GMT" * } lnRespStatusCode = loResp.StatusCode ? "Response Status Code = " + STR(lnRespStatusCode) IF (lnRespStatusCode >= 400) THEN ? "Response Header:" ? loResp.Header ? "Failed." RELEASE loHttp RELEASE loReq RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp CANCEL ENDIF * ---------------------------------- * Use the OAuth2 token in a request. * For example... loSbXml = CreateObject('Chilkat.StringBuilder') lnSuccess = loSbXml.LoadFile("c:/someDir/someXmlFile.xml","utf-8") IF (lnSuccess = 0) THEN ? "Failed to load the XML file." RELEASE loHttp RELEASE loReq RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp RELEASE loSbXml CANCEL ENDIF * Get the OAuth2 token and use it for authentication loHttp.AuthToken = loJResp.StringOf("token") lcDestUrl = "https://your_api.azurewebsites.net/destinationUrl" loResp = loHttp.PostXml(lcDestUrl,loSbXml.GetAsString(),"utf-8") IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loReq RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp RELEASE loSbXml CANCEL ENDIF lnRespStatusCode = loResp.StatusCode ? "Response Status Code = " + STR(lnRespStatusCode) IF (lnRespStatusCode >= 400) THEN ? "Response Header:" ? loResp.Header ? "Failed." RELEASE loHttp RELEASE loReq RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp RELEASE loSbXml CANCEL ENDIF * Examine the response body ? loResp.BodyStr RELEASE loHttp RELEASE loReq RELEASE loResp RELEASE loSbResponseBody RELEASE loJResp RELEASE loSbXml |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.