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, theAddIdAttachment
resource was updated to include theLegalId
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.
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
/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.
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
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.