Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(VB.NET UWP/WinRT) OneLogin OIDC - Get Discovery Document (OpenID Connect)Downloads the OpenID Connect self-discovery document for a OneLogin OIDC enabled app. For more information, see https://developers.onelogin.com/openid-connect/connect-to-onelogin
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As New Chilkat.Http http.Accept = "application/json" Dim resp As Chilkat.HttpResponse = Await http.QuickRequestAsync("GET","https://<account>.onelogin.com/oidc/.well-known/openid-configuration") If (http.LastMethodSuccess <> True) Then Debug.WriteLine(http.LastErrorText) Exit Sub End If Debug.WriteLine("Response Status Code: " & resp.StatusCode) Dim jsonResponse As New Chilkat.JsonObject jsonResponse.Load(resp.BodyStr) jsonResponse.EmitCompact = False Debug.WriteLine(jsonResponse.Emit()) If (resp.StatusCode <> 200) Then Debug.WriteLine("Failed.") Exit Sub End If ' Sample output... ' (See the parsing code below..) ' ' Use the this online tool to generate parsing code from sample JSON: ' Generate Parsing Code from JSON ' { ' "acr_values_supported": [ ' "onelogin:nist:level:1:re-auth" ' ], ' "authorization_endpoint": "https://chilkat-dev.onelogin.com/oidc/auth", ' "claims_parameter_supported": true, ' "claims_supported": [ ' "acr", ' "auth_time", ' "company", ' "custom_fields", ' "department", ' "email", ' "family_name", ' "given_name", ' "groups", ' "iss", ' "locale_code", ' "name", ' "params", ' "phone_number", ' "preferred_username", ' "sid", ' "sub", ' "title", ' "updated_at" ' ], ' "grant_types_supported": [ ' "authorization_code", ' "implicit", ' "refresh_token", ' "client_credentials", ' "password" ' ], ' "id_token_signing_alg_values_supported": [ ' "RS256" ' ], ' "issuer": "https://openid-connect.onelogin.com/oidc", ' "jwks_uri": "https://chilkat-dev.onelogin.com/oidc/certs", ' "request_parameter_supported": false, ' "request_uri_parameter_supported": false, ' "response_modes_supported": [ ' "form_post", ' "fragment", ' "query" ' ], ' "response_types_supported": [ ' "code", ' "id_token token", ' "id_token" ' ], ' "scopes_supported": [ ' "openid", ' "name", ' "profile", ' "groups", ' "email", ' "params", ' "phone" ' ], ' "subject_types_supported": [ ' "public" ' ], ' "token_endpoint": "https://chilkat-dev.onelogin.com/oidc/token", ' "token_endpoint_auth_methods_supported": [ ' "client_secret_basic", ' "client_secret_post", ' "none" ' ], ' "userinfo_endpoint": "https://chilkat-dev.onelogin.com/oidc/me", ' "userinfo_signing_alg_values_supported": [ ' ], ' "code_challenge_methods_supported": [ ' "S256" ' ], ' "introspection_endpoint": "https://chilkat-dev.onelogin.com/oidc/token/introspection", ' "introspection_endpoint_auth_methods_supported": [ ' "client_secret_basic", ' "client_secret_post", ' "none" ' ], ' "revocation_endpoint": "https://chilkat-dev.onelogin.com/oidc/token/revocation", ' "revocation_endpoint_auth_methods_supported": [ ' "client_secret_basic", ' "client_secret_post", ' "none" ' ], ' "claim_types_supported": [ ' "normal" ' ] ' } ' Dim authorization_endpoint As String Dim claims_parameter_supported As Boolean Dim issuer As String Dim jwks_uri As String Dim request_parameter_supported As Boolean Dim request_uri_parameter_supported As Boolean Dim token_endpoint As String Dim userinfo_endpoint As String Dim introspection_endpoint As String Dim revocation_endpoint As String Dim i As Integer Dim count_i As Integer Dim strVal As String authorization_endpoint = jsonResponse.StringOf("authorization_endpoint") claims_parameter_supported = jsonResponse.BoolOf("claims_parameter_supported") issuer = jsonResponse.StringOf("issuer") jwks_uri = jsonResponse.StringOf("jwks_uri") request_parameter_supported = jsonResponse.BoolOf("request_parameter_supported") request_uri_parameter_supported = jsonResponse.BoolOf("request_uri_parameter_supported") token_endpoint = jsonResponse.StringOf("token_endpoint") userinfo_endpoint = jsonResponse.StringOf("userinfo_endpoint") introspection_endpoint = jsonResponse.StringOf("introspection_endpoint") revocation_endpoint = jsonResponse.StringOf("revocation_endpoint") i = 0 count_i = jsonResponse.SizeOfArray("acr_values_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("acr_values_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("claims_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("claims_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("grant_types_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("grant_types_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("id_token_signing_alg_values_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("id_token_signing_alg_values_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("response_modes_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("response_modes_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("response_types_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("response_types_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("scopes_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("scopes_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("subject_types_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("subject_types_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("token_endpoint_auth_methods_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("token_endpoint_auth_methods_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("userinfo_signing_alg_values_supported") While i < count_i jsonResponse.I = i i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("code_challenge_methods_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("code_challenge_methods_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("introspection_endpoint_auth_methods_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("introspection_endpoint_auth_methods_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("revocation_endpoint_auth_methods_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("revocation_endpoint_auth_methods_supported[i]") i = i + 1 End While i = 0 count_i = jsonResponse.SizeOfArray("claim_types_supported") While i < count_i jsonResponse.I = i strVal = jsonResponse.StringOf("claim_types_supported[i]") i = i + 1 End While |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.