mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 09:26:52 +01:00
* Promote security knowledge from community to Microsoft layer Pure git-mv relocation of the SECURITY domain from the community layer to the Microsoft layer. No content changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address review feedback on security knowledge promotion - do-not-grant-rights-beyond-a-users-entitlement.md: drop the See sample reference to a .good.al file that does not exist - Remove the 'Contributions welcome' boilerplate line from compose-permission-sets, prefer-oauth2, and protect-sensitive-data - protect-sensitive-data-in-temporary-tables: remove the pointless DeleteAll on the locally scoped temp buffer in the good sample and reword Best Practice to note local buffers are cleaned up automatically - Drop guard-bulk-operations-with-istemporary from the promotion; it stays in the community layer pending a decision on whether it is security Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Remove Contributions welcome boilerplate from do-not-grant article for consistency Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
29 lines
960 B
AL
29 lines
960 B
AL
codeunit 50100 "Partner API Client"
|
|
{
|
|
procedure FetchOrders(var Response: Text): Boolean
|
|
var
|
|
HttpClient: HttpClient;
|
|
HttpRequest: HttpRequestMessage;
|
|
HttpResponse: HttpResponseMessage;
|
|
ApiKey: Text;
|
|
begin
|
|
// API key stored as plain Text in a setup table - not IsolatedStorage,
|
|
// not SecretText. Rotation means the admin editing a Text field;
|
|
// a single disclosure exposes every tenant running this extension.
|
|
ApiKey := GetApiKeyFromSetupTable();
|
|
|
|
HttpRequest.SetRequestUri('https://partner.example.com/orders');
|
|
HttpRequest.Method('GET');
|
|
HttpRequest.GetHeaders().Add('X-API-Key', ApiKey);
|
|
|
|
if not HttpClient.Send(HttpRequest, HttpResponse) then
|
|
exit(false);
|
|
|
|
HttpResponse.Content.ReadAs(Response);
|
|
exit(HttpResponse.IsSuccessStatusCode);
|
|
end;
|
|
|
|
local procedure GetApiKeyFromSetupTable(): Text
|
|
begin
|
|
end;
|
|
}
|