-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Describe the bug
Hi,
I am trying to update an applications onPremisesPublishing configuration, which isn't working.
I have used the following guide Configure Microsoft Entra application proxy using Microsoft Graph APIs which works until the Step 2.2 where the onPremisesPublishing settings should be set/updated.
I only get the follow translated OData-Error:
InvalidJson_BadRequest : Valid JSON content expected.
Expected behavior
That the settings would be set at the MS Graph Beta API would return an 204 - No Content.
How to reproduce
I used the following code Step 2.2: Configure the onPremisesPublishing property
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Application;
use Microsoft\Graph\Beta\Generated\Models\OnPremisesPublishing;
use Microsoft\Graph\Beta\Generated\Models\ExternalAuthenticationType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Application();
$onPremisesPublishing = new OnPremisesPublishing();
$onPremisesPublishing->setExternalAuthenticationType(new ExternalAuthenticationType('aadPreAuthentication'));
$onPremisesPublishing->setInternalUrl('https://contosoiwaapp.com');
$onPremisesPublishing->setExternalUrl('https://contosoiwaapp-contoso.msappproxy.net');
$onPremisesPublishing->setIsHttpOnlyCookieEnabled(true);
$onPremisesPublishing->setIsOnPremPublishingEnabled(true);
$onPremisesPublishing->setIsPersistentCookieEnabled(true);
$onPremisesPublishing->setIsSecureCookieEnabled(true);
$onPremisesPublishing->setIsStateSessionEnabled(true);
$onPremisesPublishing->setIsTranslateHostHeaderEnabled(true);
$onPremisesPublishing->setIsTranslateLinksInBodyEnabled(true);
$requestBody->setOnPremisesPublishing($onPremisesPublishing);
$result = $graphServiceClient->applications()->byApplicationId('application-id')->patch($requestBody)->wait();SDK Version
v2.25.0
Latest version known to work for scenario above?
No response
Known Workarounds
I have tested around with the follow client bruno.
If I use the following body, I am able to update the settings:
{
"@odata.type": "#microsoft.graph.application",
"microsoft.graph.onPremisesPublishing": {
"@odata.type": "#microsoft.graph.onPremisesPublishing",
"isOnPremPublishingEnabled": true
}
}This is the json body which is generated from the SDK:
{
"@odata.type": "#microsoft.graph.application",
"onPremisesPublishing": {
"isOnPremPublishingEnabled": true
}
}which was not working as I have tried it with bruno.
Even using:
{
"@odata.type": "#microsoft.graph.application",
"onPremisesPublishing": {
"@odata.type": "#microsoft.graph.onPremisesPublishing",
"isOnPremPublishingEnabled": true
}
}did not worked.
There must be something "in the back" what is causing the above mentioned error.
Debug output
Configuration
- OS: macOS Sequoia 15.1.1
- architecture: M3 Pro
- used PHP version:
PHP 8.3.16 (cli) (built: Jan 17 2025 01:31:19) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.16, Copyright (c) Zend Technologies
with Zend OPcache v8.3.16, Copyright (c), by Zend Technologies
with Xdebug v3.4.1, Copyright (c) 2002-2025, by Derick RethansOther information
I have check the OpenAPI-file at github.com/microsoftgraph/msgraph-metadata/blob/master/openapi/beta/openapi.yaml and couldn't see any issue/error why this is not working 😟
Disclaimer: I know that is the beta API version 😄