NEXT_LOGIN_INVALID_LOGIN_PARAMETER
Added by Anders almost 5 years ago
Har fungerande konto både i test och prod för Next version 1.
Tänkte testa version 2, men inloggningen fungerar inte, utan får
[code] => NEXT_LOGIN_INVALID_LOGIN_PARAMETER
[message] => Something went wrong when logging in.
Jag använder samma konto och lösenord som för test version 1 (behöver jag skaffa ett nytt?), samma pem-fil (NEXTAPI_TEST_public.pem, är det fel?) och det enda jag gör olika är att jag ändrat 1 till 2 där api-versionen anges.
Vad är det som ändrats för inloggningen i v.2?
Replies (7)
RE: NEXT_LOGIN_INVALID_LOGIN_PARAMETER
-
Added by Lars almost 5 years ago
Anger du timestamp (som du krypterar tillsammans med användardata) i sekunder eller millisekunder? Det ska vara millisekunder i v2. (I v1 står det millisekunder i dokumentationen men jag fick det bara att fungera i praktiken med sekunder, så om du har tagit fungerande v1-kod och bara ändrat url så kan det vara det det beror på.)
Lars
RE: NEXT_LOGIN_INVALID_LOGIN_PARAMETER
-
Added by Anders almost 5 years ago
Nja, faktum är att i min fungerande inloggning i v1 så skickar jag mikrosekunder(!) nämligen funktionen microtime() i php:
$login_string = base64_encode($username) . ':' . base64_encode($password) . ':' . base64_encode(microtime());
Jag får samma inloggningsfel om jag ändrar detta till mikorsekunder:
$login_string = base64_encode($username) . ':' . base64_encode($password) . ':' . base64_encode(microtime() * 1000);
Fler idéer?
RE: NEXT_LOGIN_INVALID_LOGIN_PARAMETER
-
Added by Anders almost 5 years ago
*mikorsekunder = millisekunder
RE: NEXT_LOGIN_INVALID_LOGIN_PARAMETER
-
Added by Lars almost 5 years ago
microtime() * 1000 blir väl nanosekunder? Prova microtime() / 1000 i stället.
RE: NEXT_LOGIN_INVALID_LOGIN_PARAMETER
-
Added by Lars almost 5 years ago
Med lite mer eftertanke så är jag mest förvirrad. Ur dokumentationen för microtime:
"By default, microtime() returns a string in the form "msec sec", where sec is the number of seconds since the Unix epoch (0:00:00 January 1,1970 GMT), and msec measures microseconds that have elapsed since sec and is also expressed in seconds.
If get_as_float is set to TRUE, then microtime() returns a float, which represents the current time in seconds since the Unix epoch accurate to the nearest microsecond."
För en liten stund sedan:
microtime(false) = "0.46569600 1418071228"
microtime(true) = 1418071228.4657
Vad är det du base64-encodar?
RE: NEXT_LOGIN_INVALID_LOGIN_PARAMETER
-
Added by Lars almost 5 years ago
I version 2 (test):
microtime() ger mig samma felmeddelande som du får
1000 * time() fungerar bra
(1-7/7)