go-client
go-client copied to clipboard
failed to create user
Hi, This is my golang code:
uuid := id2uuid(id) fmt.Println(uuid)
userRequest := fusionauth.UserRequest{
SendSetPasswordEmail: false,
SkipVerification: true,
User: fusionauth.User{
SecureIdentity: fusionauth.SecureIdentity{
Password: "123456",
EncryptionScheme: "salted-md5",
},
Email: "[email protected]",
},
}
userReply, _, err := auth.CreateUser(uuid, userRequest)
if err != nil {
panic(err)
}
fmt.Printf("%v\n", struct2JSON(userReply))
when I run this code, the result: 50166975-0100-0000-0516-796758492463 {"statusCode":400,"user":{}}
what's the problem?
@matthew-altman it looks like we are not de-serializing into the errors object on a non 2xx response.
Can you take a look?
@alonlong if you recreate using postman , insomnia or some rest client the JSON body response on a 400 will tell you what the validation error is that is causing the request to fail.
@alonlong It looks like you're throwing away the Errors
, the second return value, from the auth.CreateUser()
call. Can you please store that value and reply with the results of that? Thanks!
@alonlong Were you able to resolve this issue? Or do you have any additional error messages for us?
Pretty sure this is related to the issue I'm having currently.
A request to CreateUser returns zero validation errors but err is equal to EOF. This is also occurs when you have a user who hasn't set a password yet and they try and login, no validation errors will be returned but err will be equal to EOF. It'll also occur when a user tries to login who doesn't have an account instead of just returning a 401.
Any current work arounds? Happy to post any additional findings too.
@abbottm-go if you try to make the same request using a REST client such as insomnia or postman what is the error and status code?
If we can identify the actual error - then we should be able to recreate the scenario and symptom to resolve the core issue.
Thanks!
@robotdan
The status code is 200 when err is equal to EOF on the login function. That's using insomnia. This occurs with both the Login and CreateUser functions.
using go 1.14.2 :)
@robotdan ` response, error, err := a.fusionAuth.CreateUser("", request)
if error != nil || err != nil {
return nil, err
}
return response, nil
`
the err object is the one defaulting to EOF & errors object is just an empty map