You need to include ctype, userId, and some captcha fields I canât recall
Do a login attempt via website with network tab open and inspect the exact fields roblox uses for the request as well as the exact headers (headers is crucial or Roblox wonât authenticate the request)
I was able to successfully get the challenge ID, type, and metadata. However, I have no clue how to render it⌠I am currently trying to use the node funcaptcha package, but I am struggling. Do I need to create a new captcha token with fun.getToken() or can I go straight to fun.Session()? How do I show this captcha to the client?
When I try fun.getToken() with this code, the token returns as DENIED ACCESS
const token = await fun.getToken({
pkey: "476068BF-9607-4799-B53D-966BE98E2B81", //This is the login public key for roblox
surl: "https://roblox-api.arkoselabs.com",
site: "https://www.roblox.com/login",
})
That is just what I needed! Thank you so much! I have just one more question. The captcha gives me either one with extra data, and one without. The captcha also gives me a challengeID of its own, but roblox gives one also. Where do each of these values go, and where do I find the captchaId for the final login request?
Hello, the challenge id and token go in the headers of the final request. You have to encode the token with action type field to base64 and pass it as the metadata
You could just buy a cheap dedicated proxy, use it to login, then just proxy the requests on the server. If you have access to the server, you might be able to deploy a simple HTTP proxy or a WireGuard server on it to login using the servers IP.
Itâs much better to do it like that because captcha solving services are super unreliable when it comes to solving Funcaptcha and youâll likely have to sign in manually anyway.
Using an HTTP proxy on the server would still work for this case.
Robloxâs login endpoint is super sensitive about the headers you use when logging in. Axios will use a custom user agent that you need to override when sending a request. Iâm pretty sure if you donât change the user agent, Roblox will detect you as a bot and simply ignore the captcha. I havenât messed with the login endpoint in a while though so I canât 100% confirm thatâs still the case.
All youâd need to do is find any dedicated (or any other type of static proxy) HTTP proxy provider, then configure your axios client to use said proxy. Then search how to set a proxy in whatever browser you use and set it to use the same one as the axios client. Login using the new proxy IP and then give the cookie to your server.
Iâd try changing the user agent/adding any missing headers first though.
Changing the headers did not work in any way that I tried⌠I may try using a proxy, but I may also try port forwarding if that does not work. Thank you for the suggestion!