FreeRDP
Loading...
Searching...
No Matches
include/freerdp/utils/aad.h
1
21#ifndef FREERDP_UTILS_AAD_H
22#define FREERDP_UTILS_AAD_H
23
27#include <winpr/wlog.h>
28#include <winpr/json.h>
29
30#include <freerdp/api.h>
31#include <freerdp/types.h>
32#include <freerdp/config.h>
33
34#ifdef __cplusplus
35extern "C"
36{
37#endif
38
42 typedef enum
43 {
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,
52 AAD_WELLKNOWN_issuer,
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;
68
78 WINPR_ATTR_MALLOC(free, 1)
79 FREERDP_API char* freerdp_utils_aad_get_access_token(wLog* log, const char* data,
80 size_t length);
81
89 FREERDP_API const char* freerdp_utils_aad_wellknwon_value_name(AAD_WELLKNOWN_VALUES which);
90
99 FREERDP_API const char* freerdp_utils_aad_get_wellknown_string(rdpContext* context,
100 AAD_WELLKNOWN_VALUES which);
101
110 FREERDP_API const char* freerdp_utils_aad_get_wellknown_custom_string(rdpContext* context,
111 const char* which);
112
121 FREERDP_API WINPR_JSON* freerdp_utils_aad_get_wellknown_object(rdpContext* context,
122 AAD_WELLKNOWN_VALUES which);
123
132 FREERDP_API WINPR_JSON* freerdp_utils_aad_get_wellknown_custom_object(rdpContext* context,
133 const char* which);
134
144 WINPR_ATTR_MALLOC(WINPR_JSON_Delete, 1)
145 FREERDP_API WINPR_JSON* freerdp_utils_aad_get_wellknown(wLog* log, const char* base,
146 const char* tenantid);
147
148#ifdef __cplusplus
149}
150#endif
151
152#endif /* FREERDP_UTILS_AAD_H */
WINPR_API void WINPR_JSON_Delete(WINPR_JSON *item)
Delete a WinPR JSON wrapper object.
Definition json.c:143