web
You’re offline. This is a read only version of the page.
close
  • Get the claims from a SecretText JWT Token

    When troubleshooting OAuth and trying to figure out why an AccessToken is not being accepted by the resource you are trying to use it on, we have earlier been able to get the AccessToken in plain text and put it into jwt.ms (or any other similar tool) to parse the token and look into all the claims (see https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-token-claims for more information).

    Looking at the claims often explains why it does not work, like missing scopes, new configuration not in effect yet (things get cached a lot nowadays), etc.


    With the switch to SecretText in the Oath2 module, we cannot get the AccessToken in plain text. Hence, we cannot parse the AccessToken to get the claims. :(


    I suggest a new function in the OAuth2 module that has the AccessToken (SecretText) as parameter, and that returns the claims as a JsonObject.

    On top of that we could also add new functions that returns common claims in an easier way, like expiration time (requested in https://experience.dynamics.com/ideas/idea/?ideaid=41f5d251-1a59-ee11-a81c-0022484c1d83).

  • PDF Viewer control addin

    In the "EDocument Core" app, there is a controladdin called "PDF Viewer". This is used in the "Inbound E-Doc. Factbox".


    It would make sense to have this usercontrol in the SystemApp instead.

    A generic FactBox page would also be very userful, maybe also a generic page.


  • MCP server for the compiler

    In the era of AI and Github coding agent, MCP servers are needed for all kind of scenarios.


    To make life easier for AL developers trying to use the GitHub Coding Agent, I suggest that you implement a (local) MCP server for the AL tool, Microsoft.Dynamics.BusinessCentral.Development.Tools found at the NuGet gallery.


    Add a command to the AL command to start the MCP server, this can be configured in the MCP settings for the Coding Agent.

    Then add a few tools that the coding agent can use, for example compile app, search symbols (similar to Ctrl+T in VSCode), etc.


    The tools (at least the compile one) would probably need the path to the .code-workspace file,if available, as a optional parameter, to be sure that all settings are applied (code cops, ruleset files etc).


    I assume that there could be a lot of other tools as well, please add suggestions as comments :)