Closed ntaisee closed 6 months ago
I feel as though I'm going crazy. Didn't alter much, but now the requests are working. I added the sendSetPasswordEmail
parameter, which I swore I had added before and had the same issue.
I guess FusionAuth was failing validation due to the missing password
parameter, but kicking back that ugly, unhelpful error. Funny thing is, I sent the request without sendSetPasswordEmail
using Postman, and got a proper error response there.
I suppose this should be closed?
Updated SDK snippet for future reference:
var registerReq = new RegistrationRequest();
registerReq.sendSetPasswordEmail = true;
// Add the new user details
registerReq.user = new User();
registerReq.user.username = membershipUser.UserName;
registerReq.user.email = membershipUser.Email;
// Add the app details
registerReq.registration = new UserRegistration();
registerReq.registration.applicationId = new Guid(applicationId);
// Send the request
var client = new FusionAuthSyncClient(ConfigurationManager.AppSettings["FusionAuth:APIKey"], ConfigurationManager.AppSettings["FusionAuth:URL"], ConfigurationManager.AppSettings["FusionAuth:TenantId"]);
var response = client.Register(new Guid(membershipUser.ProviderUserKey.ToString()), registerReq);
Updated POST request snippet for future reference:
var requestData = new Dictionary<string, object>
{
{ "sendSetPasswordEmail", true },
{
"registration", new Dictionary<string, object>
{
{ "applicationId", applicationId }
}
},
{
"user", new Dictionary<string, object>
{
{ "username", membershipUser.UserName },
{ "email", membershipUser.Email }
}
}
};
var requestJSON = JsonConvert.SerializeObject(requestData);
var requestContent = new StringContent(requestJSON, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(ConfigurationManager.AppSettings["FusionAuth:URL"]);
client.DefaultRequestHeaders.Add("Authorization", ConfigurationManager.AppSettings["FusionAuth:APIKey"]);
client.DefaultRequestHeaders.Add("X-FusionAuth-TenantId", ConfigurationManager.AppSettings["FusionAuth:TenantId"]);
var response = await client.PostAsync("/api/user/registration/" + membershipUser.ProviderUserKey.ToString(), requestContent);
What happened?
I am trying to send an API request for the "Create a User and Registration (combined)" endpoint. I have tried using both the .NET SDK as well as creating the request myself. Both result in a 500 status code and the following error:
Snippet for trying through the SDK:
Snippet for trying through HTTPClient:
I have also tried to just create a user, but get the same result. Code snippet:
I have verified I can use the SDK to get an existing FusionAuth user.
Version
1.48.3
Affects Versions
No response