A method for authenticating a user, comprising: receiving, by a first server, from at least one device, at least one identifier relating to a user; - retrieving, by the first server, at least one reference user credential associated with the at least one user identifier; - generating, by the first server, at least one reference authentication token, the at least one reference authentication token being generated based upon the at least one reference user credential and at least one predetermined key; - sending, by the first server, to a second server, at least one identifier relating to a device to be addressed, the at least one reference authentication token and at least one script for requesting the user to provide at least one user credential (210 and 212); - sending, by the second server, to the device, at least one request for getting at least one user credential by executing the at least one script for requesting the user to provide at least one user credential; - getting, by the device, from the user, at least one submitted user credential; - generating and sending, by the device, to the second server, at least one submitted authentication token, the at least one submitted authentication token being generated based upon the at least one submitted user credential and the at least one predetermined key, the device storing the at least one predetermined key; - comparing, by the second server, each of the at least one submitted authentication token to the received reference authentication token and generates at least one comparison result and/or an authentication result; - sending, by the second server, to the first server, the at least one comparison result and/or the authentication result (236 and 238). - retrieving, by the first server, at least one reference user credential associated with the at least one user identifier; - generating, by the first server, at least one reference authentication token, the at least one reference authentication token being generated based upon the at least one reference user credential and at least one predetermined key; - sending, by the first server, to a second server, at least one identifier relating to a device to be addressed, the at least one reference authentication token and at least one script for requesting the user to provide at least one user credential (210 and 212); - sending, by the second server, to the device, at least one request for getting at least one user credential by executing the at least one script for requesting the user to provide at least one user credential; - getting, by the device, from the user, at least one submitted user credential; - generating and sending, by the device, to the second server, at least one submitted authentication token, the at least one submitted authentication token being generated based upon the at least one submitted user credential and the at least one predetermined key, the device storing the at least one predetermined key; - comparing, by the second server, each of the at least one submitted authentication token to the received reference authentication token and generates at least one comparison result and/or an authentication result; - sending, by the second server, to the first server, the at least one comparison result and/or the authentication result (236 and 238).