Solarfox® technical implementation

Solar-Fox is using the WEB 4 API directly (without quota layer).

 

The authentication happens via FFuF PASS Client Credentials with Grant type: authorization code

Solar-Fox will get a valid token by https://pass.enerest.world/auth/realms/pass/protocol/openid-connect/token/ → using the client id + secrect from Pass4 Live → Ui Clients → Tenants → SolarFox

Public Client ID: b08dd644-d307-4d5b-b148-8824bb1c208e

Note: The Solar-Fox tenant has no scopes assigned to keep the token small. The client scopes get requested and added by our ffuf-pass-bundle (https://app-api-keycloak-r-euwe-9baf8a.azurewebsites.net/clients/b08dd644-d307-4d5b-b148-8824bb1c208e/client-scopes/).

The scopes need to include portals.all, fleets.all and plants.all to provide access to all plants.

 

Issue:

Dec 20, 2022 Sales has escalated that all Lidl Solar-Fox displays are out of order.

Dec 21, 2022 9:45 ffuf/xtian has manually added the .all permissions to the client as there is no UI for it. Marius Nagel from SolarFox has approved that this is solving the issue. Info from Marius, first known outages (just single plants) starting from 6th of December, issue solving was in progress already with Benjamin Groetzner. We have no idea, how it could work before adding the permissions or what is the real reason for it. Marius checked the auth code files, no changes since 5 months. Xtian will check FFuF side.

Dec 21, 2022 11:00 status update planned

Configuration in PASS 4

 

These are the current client scopes:

https://app-api-keycloak-r-euwe-9baf8a.azurewebsites.net/clients/b08dd644-d307-4d5b-b148-8824bb1c208e/client-scopes/

[ { "id": "f0da2e54-71c8-4f94-bb2f-3d7826fa9d59", "scopeId": "f0da2e54-71c8-4f94-bb2f-3d7826fa9d59", "scopeName": "enerest.analysis.read", "modificationDate": null, "modifierId": null, "creatorId": null, "creationDate": null }, { "id": "7fb550a6-552f-481a-8fe8-47df5e42e016", "scopeId": "7fb550a6-552f-481a-8fe8-47df5e42e016", "scopeName": "enerest.plants.all", "modificationDate": null, "modifierId": null, "creatorId": null, "creationDate": null }, { "id": "bd9ecd9b-28e6-42f3-8d4c-ecc6aa3a0d1b", "scopeId": "bd9ecd9b-28e6-42f3-8d4c-ecc6aa3a0d1b", "scopeName": "enerest.portals.all", "modificationDate": null, "modifierId": null, "creatorId": null, "creationDate": null }, { "id": "5a31e09b-be3b-4b3f-ac6a-75978bad0c9d", "scopeId": "5a31e09b-be3b-4b3f-ac6a-75978bad0c9d", "scopeName": "enerest.fleets.all", "modificationDate": null, "modifierId": null, "creatorId": null, "creationDate": null }, { "id": "8bab967c-efde-4016-beb4-c3c4851776e5", "scopeId": "8bab967c-efde-4016-beb4-c3c4851776e5", "scopeName": "enerest.portals.read", "modificationDate": null, "modifierId": null, "creatorId": null, "creationDate": null }, { "id": "b587840e-e3b7-4927-b123-be7a1a917be6", "scopeId": "b587840e-e3b7-4927-b123-be7a1a917be6", "scopeName": "enerest.plants.read", "modificationDate": null, "modifierId": null, "creatorId": null, "creationDate": null }, { "id": "f159c3a2-58f1-4990-b973-f720a6e36e3d", "scopeId": "f159c3a2-58f1-4990-b973-f720a6e36e3d", "scopeName": "enerest.pinboard.create", "modificationDate": null, "modifierId": null, "creatorId": null, "creationDate": null } ]