Refactored KyC process: Service Collaboration

From build 2025-04-12, the KyC process to authenticate Identity Applications has been refactored to allow multiple Identity Authenticator services to collaborate to approve or reject an application. Apart from updates to the Neuron® itself, it also affects Identity Authenticator service packages, library nugets, and the Agent API, the focus of this article.

There are mainly two resources that have been updated:

  • The ReadyForApproval resource, now requires use of cryptographic key and signature to be called. The reason for this is that the call, which triggers the automated KyC process, can generate an attachment being added to the identity application, documenting which services have validated which parameters. For this to be permitted, the caller must provice the cryptographic key to use, for signing the attachment. The new call takes more arguments than the previous version, so any software making use of this resource must be updated as well.

  • While refactoring the ReadyForApproval resource, the AddIdAttachment resource was updated to include the LegalId argument in the request signature. The call does not take any more arguments, so software using the JavaScript implementation do not need to be updated, as the request signature is calculated by the JavaScript library. But if software implements a custom HTTP REST interface, such software must be updated to reflect this new request signature calculation.

Other important changes related to KyC has also been performed. Now, the Neuron® and associated KyC-services support IDs that are defined using FULLNAME instead of FIRST, MIDDLE and LAST name property fields. If a FULLNAME is provided, and a contract references FIRST, MIDDLE and LAST, they will be extracted using the expected canonical approach. Likewise, if an ID is created using FIRST, MIDDLE and LAST, and a contract references FULLNAME, it will be constructed by joining FIRST, MIDDLE and LAST with a single space character as delimiter.

#new, #features, #api, #agentapi, #kyc


Using a proxy server with Agent API & Quick Login API

From build 2025-02-05, a new mode is available for integrating Quick Login API and Agent API when using a proxy to access the Neuron®. The web page may reside on an external server, and it wants to integrate with both Quick Login API and Agent API on a Neuron® different from the web server. In this case, the web-client only or backend modes are not sufficient, as they cannot integrate the two APIs seamlessly. Session mode is not available either, since the HTTP session held by the client, is between the client and the web server, not the Neuron®.

A new mode is now availble: A Session-proxy mode. allows the client to create a Session ID implicitly, by adding a agentApiTimeout property in the initial request made to the Neuron® from the proxy. The Neuron® will implicitly call the QuickLoginServiceId(Request,Timeout) function, and return the Service ID in the response to the proxy.

Note: The proxy needs to enable cookies in its communication with the Neuron®, to maintain the session correctly. The proxy will need to call the Agent API over the same session, to be able to access the Quick Login done in this mode.

For more information, see the Quick Login API reference documentation.

#new, #features, #neuron, #agent, #agentapi, #quicklogin, #api


Agent API Javascript NPM package

Currently, there is no package on the public npm package registry, but you can still add the package as a dependency in your package.json. You just add

“agent-api”: “https:confused face:/github.com/Trust-Anchor-Group/AgentApiJavascript.gitnpm-package”

to your dependencies. Though, note that this might require that you have the newest version of the AgentApi on your neuron (which may require the newest neuron version). This is because the repo is designed for the latest version, which means that it might be different since the AgentApi is ever evolving. And at last, there currently is only one version, which if it is updated, and you later install your dependencies, the package might have changed. So if you for some reason do not plan to update the neuron or your code, it might be better to copy the code in the package. For those curious, there is currently not a package for the typescript version.

In The Code

if you use ES6 import syntax just use : `js import AgentAPI from "agent-api" AgentApi.Legal.CreateContract()

or if you use CommonJs: `js const AgentAPI = require("agent-api") AgentApi.Legal.CreateContract()

The Github Repository

As you may see, the package is located in the npm-package branch on the AgentApiJavascript repository on Github. If you notice that the main branch have got some important commits that the npm-package does not, please consider rebasing the npm-package branch to the main branch. If you are not sure how to rebase, consider learning more about it, absolutely use something like Sourcetree to check that you did it right, and if you are worried, make a backup of the repo.

#javascript, #npm, #package, #agentapi


Agent API C# implementation

A C# implementation of the Agent API is now publicly available both on Github and as a NuGet Package

The implementation provides generated models and simplifies the process of making requests to the Agent API for .NET applications

Instructions and documentation can be found on the Github page. Also feel free to open any issues on the Github page

#c#, #.net, #agent, #api, #agentapi


Posts tagged #agentapi

No more posts with the given tag could be found. You can go back to the main view by selecting Home in the menu above.