21 #ifndef FREERDP_UTILS_AAD_H
22 #define FREERDP_UTILS_AAD_H
27 #include <winpr/wlog.h>
28 #include <winpr/json.h>
30 #include <freerdp/api.h>
31 #include <freerdp/types.h>
32 #include <freerdp/config.h>
44 AAD_WELLKNOWN_token_endpoint = 0,
45 AAD_WELLKNOWN_token_endpoint_auth_methods_supported,
46 AAD_WELLKNOWN_jwks_uri,
47 AAD_WELLKNOWN_response_modes_supported,
48 AAD_WELLKNOWN_subject_types_supported,
49 AAD_WELLKNOWN_id_token_signing_alg_values_supported,
50 AAD_WELLKNOWN_response_types_supported,
51 AAD_WELLKNOWN_scopes_supported,
53 AAD_WELLKNOWN_request_uri_parameter_supported,
54 AAD_WELLKNOWN_userinfo_endpoint,
55 AAD_WELLKNOWN_authorization_endpoint,
56 AAD_WELLKNOWN_device_authorization_endpoint,
57 AAD_WELLKNOWN_http_logout_supported,
58 AAD_WELLKNOWN_frontchannel_logout_supported,
59 AAD_WELLKNOWN_end_session_endpoint,
60 AAD_WELLKNOWN_claims_supported,
61 AAD_WELLKNOWN_kerberos_endpoint,
62 AAD_WELLKNOWN_tenant_region_scope,
63 AAD_WELLKNOWN_cloud_instance_name,
64 AAD_WELLKNOWN_cloud_graph_host_name,
65 AAD_WELLKNOWN_msgraph_host,
66 AAD_WELLKNOWN_rbac_url
67 } AAD_WELLKNOWN_VALUES;
78 WINPR_ATTR_MALLOC(free, 1)
79 FREERDP_API
char* freerdp_utils_aad_get_access_token(wLog* log, const
char* data,
89 FREERDP_API const
char* freerdp_utils_aad_wellknwon_value_name(AAD_WELLKNOWN_VALUES which);
99 FREERDP_API const
char* freerdp_utils_aad_get_wellknown_string(rdpContext* context,
100 AAD_WELLKNOWN_VALUES which);
110 FREERDP_API const
char* freerdp_utils_aad_get_wellknown_custom_string(rdpContext* context,
121 FREERDP_API WINPR_JSON* freerdp_utils_aad_get_wellknown_object(rdpContext* context,
122 AAD_WELLKNOWN_VALUES which);
132 FREERDP_API WINPR_JSON* freerdp_utils_aad_get_wellknown_custom_object(rdpContext* context,
145 WINPR_JSON* freerdp_utils_aad_get_wellknown(wLog* log, const
char* base, const
char* tenantid);
WINPR_API void WINPR_JSON_Delete(WINPR_JSON *item)
Delete a WinPR JSON wrapper object.