Does this API work for anyone? It's giving me a 404 when I try to use it.
GET /api/user?verificationId={verificationId}
Thanks
Does this API work for anyone? It's giving me a 404 when I try to use it.
GET /api/user?verificationId={verificationId}
Thanks
SOLVED
The go client doesn't return the headers from the HTTP response when it calls the fusionauth APIs.
Workaround is to call the /api/login API yourself, extract the headers and set "Set-Cookie" headers yourself.
The response is containing the set-cookie header only if I manually use gin context to set cookie,
and the APIs that need cookies in the request (like refresh_jwt) and working only if I manually read the set cookies.
This should be done automatically when I call the fusionauth APIs right?
I am using version 1.32.1
Yes, I am using authenticate a user (Login) API.
Yes, the user that I am trying to login as, has been registered for the application.
curl --location --request POST 'https://fsauth-dev.goinfluencer.io/ums/api/v1/brand/signin' \
--header 'Content-Type: application/json' \
--data-raw '{
"email":"arihantsinghverma@gmail.com",
"password":"abcdefghij1"
}'
func (s *AuthService) SignIn(request *models.SignInRequest, userType string) (*fusionauth.LoginResponse, error) {
var applicationId string
if userType == "brand" {
applicationId = s.config.FusionAuth.BrandApplicationId
} else if userType == "influencer" {
applicationId = s.config.FusionAuth.InfluencerApplicationId
}
fusionauthrequest := fusionauth.LoginRequest{
BaseLoginRequest: fusionauth.BaseLoginRequest{ApplicationId: applicationId},
LoginId: request.Email,
Password: request.Password,
}
isVerified, exists := s.IsVerified(request.Email, applicationId)
if !exists {
logging.Error("User does not exist")
return nil, errors.RequestErr("User does not exist")
} else if isVerified {
fusionauthresponse, fieldErr, err := s.client.Login(fusionauthrequest)
if err != nil {
logging.Error("Unable to connect to fusionauth", zap.Error(err))
return nil, errors.BaseBadRequest
}
if fieldErr != nil {
logging.Error("Invalid Username or Password", zap.Error(fieldErr))
return nil, errors.RequestErr("Invalid Username or Password")
}
// response := &models.SignInResponse{
// Email: fusionauthresponse.User.Email,
// UserName: fusionauthresponse.User.FullName,
// }
return fusionauthresponse, nil
} else {
logging.Error("Email is not verified")
return nil, errors.RequestErr("Email is not verified")
}
}
I've been testing my login API on postman, and I do not see JWT Access token cookie being set.
If the cookie actually not being set or am I just unable to test is correctly on postman.
I've set up interceptor on postman yet no luck.
Hello,
I am trying to use the go-client library to integrate fusionauth. Comments on the github repo (https://github.com/FusionAuth/go-client/blob/master/pkg/fusionauth/Client.go#L2761) say that if I only pass the UserRegistration object, the user will be registered for the application whose ID is provided.
But when I am trying to implement the same workflow, I am getting the following error
"You must specify either the [user.email] or [user.username] property. If you are emailing the user you must specify the [user.email]. user.password: You must specify the [user.password] property."
This is how I am initializing the request for the API:
fusionauthrequest := fusionauth.RegistrationRequest{
Registration: fusionauth.UserRegistration{
ApplicationId: applicationId,
Username: request.Email,
},
}