>VIBECODEWALL
methodresultsprointel[login]
|
[scan]
/blog/article
Security/2026-08-17/4 min

Stop sign-in from sending customers to a fake page

Your app should return customers only to pages you chose and still control. A broad return list can send people to an old, confusing, or fake page.

read in Portuguese

before you start

After signing in, customers should return only to a short, reviewed list of pages you control.

Understand the return trip after sign-in

in plain words

Your app briefly sends a customer away to confirm who they are, then brings them back to a page you selected.

Imagine a customer choosing Continue with Google or Continue with Apple. They briefly leave your app, confirm their identity, and expect to return to a familiar page. Your app and the sign-in company use a saved web address to decide where that return trip ends. If the saved address is wrong or too flexible, the customer could reach an old page, an unexpected page, or a convincing copy that asks for their password, payment information, or another access code.

The safe idea is simple: approve only the exact pages that genuinely receive customers after sign-in. The technical name is an OAuth redirect address. OAuth is the technical system that lets a person use an account from companies such as Google or Apple to enter another app without giving that app their Google or Apple password. A redirect address is the approved destination used when that sign-in step finishes.

  • ▸Write down the page customers normally see after signing in.
  • ▸Add another return page only when a real customer journey requires it.
  • ▸Investigate every destination you do not recognize.

common risk

A broad setting accepts many pages instead of one exact destination. An old page under the same business name remains accepted, even though nobody checks or maintains it anymore.

what to do now

Sign in with a test account, copy the complete address shown at the end, and compare it with the page you intended to show.

ask your AI

Inspect this app and its sign-in provider settings. Show me every configured OAuth redirect address, where each one is configured, and which customer journey uses it. Explain everything in beginner-friendly language. Flag broad patterns, old test addresses, temporary preview addresses, and entries that are not one exact page. Do not make changes yet.

See why a broad list puts accounts at risk

in plain words

Every extra return destination creates another page that must remain owned, maintained, and trustworthy.

Allowing a whole website, every page below it, or numerous temporary addresses can seem convenient while an app is changing. The problem may remain long after the reason disappears. A contractor might stop maintaining a page, a demonstration project might be abandoned, or a temporary hosting address might be reassigned. The sign-in service can continue treating that destination as approved unless someone removes it.

A dishonest page does not always need to steal a password directly to cause harm. It can copy your colors and wording, claim that sign-in failed, and ask the customer to enter a password, payment card, recovery code, or other account information. This kind of impersonation is commonly called phishing; the technical name is phishing. Sending customers only to exact pages you control reduces the number of places that could be used to create that confusion.

  • ▸Do not approve an entire website when one return page is enough.
  • ▸Remove destinations created for finished demonstrations or previews.
  • ▸Record who owns and maintains each approved page.

common risk

A temporary preview was approved during development. Months later, the team no longer controls it, but the sign-in company still considers it a permitted destination.

what to do now

Open the sign-in service settings and mark each entry as needed now, needed only for testing, or no longer needed.

ask your AI

Prepare a proposed cleanup of this app's OAuth redirect addresses. Separate public customer pages from test and preview pages. For every entry, state who appears to control it, why it exists, and whether an exact address can replace a broad pattern. Show the current and proposed lists side by side, but do not change anything.

Check every part of the web address

in plain words

Two addresses can look almost identical while leading to pages controlled by different people.

Read every approved address from beginning to end. Check its spelling, the main website name, any extra name placed before it, and the page information after the slash. Do not trust an address merely because your brand appears somewhere inside it. A customer area, help site, old campaign, and temporary preview may look related while being managed through separate accounts.

The main website name has a technical name: developers call it the domain. An extra label before that name, such as account in account.example.com, has another technical name: developers call it a subdomain. The secure beginning shown as https also matters. The technical name is HTTPS, and it helps the browser protect information while it travels. Confirm that every complete address opens the intended page and that your team still controls the account used to publish it.

  • ▸Compare each entry character by character with the public page.
  • ▸Confirm the purpose and current owner of every extra website label.
  • ▸Check that each approved destination uses the secure address shown by your hosting company.

common risk

The approved list contains the current customer page and an older, similarly named website from a previous launch. Customers may not realize that the old page is no longer part of the app.

what to do now

Create a record containing each approved address, its purpose, its owner, and the date it was last tested.

ask your AI

Review the complete OAuth redirect address list character by character. Check for spelling mistakes, old domains, unnecessary subdomains, temporary hosts, insecure address beginnings, and pages we may no longer control. Explain each concern in plain language and make no changes.

Test the same journey your customers use

in plain words

A real sign-in test shows whether the smaller approved list works without relying on guesses.

After reducing the proposed list, test every normal customer journey before removing a destination from the public setup. Start from the home page, choose each sign-in button, complete the process with a test account, and note the final address. Also test invitations, account connections, or purchase returns when they include a sign-in step. Avoid using real customer records for these checks.

If one test fails, do not immediately approve every page as a workaround. First identify the one page that should receive the customer. Developers call that receiving page a callback; the technical name is a callback. Approve its exact address only when it belongs to the public app and is required by a documented journey. A clear error during testing is easier to investigate than a silent handoff to an unreviewed page.

  • ▸Create one test for every sign-in button and special journey.
  • ▸Write down the expected final address before changing settings.
  • ▸Repeat the tests on a phone and a computer.

common risk

A redesign causes a sign-in error, so someone approves every page to make the error disappear. Sign-in works again, but many unnecessary destinations are now accepted.

what to do now

Test the proposed smaller list in a safe testing setup, then apply it to the public app and repeat the customer journeys.

ask your AI

Create a beginner-friendly sign-in test plan for this app. Include every sign-in button, invitation flow, account connection, and purchase journey that signs a person in. For each test, give the starting page, actions to take, expected callback address, expected result, and evidence I should save. Do not suggest broad redirect patterns.

Keep checking as your app changes

in plain words

Old destinations can return when websites, collaborators, and sign-in options change.

Review the approved return pages whenever you change your website name, hosting company, sign-in company, customer area, or temporary preview. Review them again when a collaborator leaves. Keep the list in your launch notes and assign one person to confirm that every destination is exact, current, necessary, and still controlled by your team.

An outside check adds another useful view. VibeCodeWall checks the public app from the outside and watches for important changes over time. It does not need access to code that is not public. An outside check cannot replace reviewing the saved destination list inside your sign-in service, because that service is where the approved return pages are decided. Use both the public check and a regular settings review.

  • ▸Review return destinations after every important app change.
  • ▸Remove former collaborators from the sign-in service account.
  • ▸Retest pages that remain approved after a campaign or redesign ends.
  • ▸Use ongoing outside checks to notice important public changes.

common risk

A campaign ends, but its return page remains approved. Nobody tests the page, and later changes can make it confusing or unsafe for customers.

what to do now

Add a destination review to every launch checklist and schedule a recurring review of the public app and sign-in settings.

ask your AI

Add a recurring safety check to this project's launch and maintenance notes. It must verify that every OAuth redirect address is exact, currently needed, owned by us, protected with HTTPS, and tested through the public customer journey. It must also require removal of old preview and campaign addresses, record the reviewer and date, and remind me to use an outside public-app check for important changes.

Quick checklist

  1. 01List the exact pages customers should reach after signing in.
  2. 02Remove old test, demonstration, and temporary preview addresses.
  3. 03Check the complete spelling of every approved web address.
  4. 04Confirm that you still control every approved page.
  5. 05Keep testing settings separate from the public app when possible.
  6. 06Test every sign-in button with a test account.
  7. 07Review the list after changing your web address, hosting company, or sign-in service.
  8. 08Ask your AI builder to explain the purpose of every approved destination.
  9. 09Check the public app regularly for important changes.

FAQ

What is the approved return address used for sign-in?

It is the exact page your app may show after an outside sign-in company finishes confirming the person. The technical name is an OAuth redirect address.

Does every page in my app need approval?

Usually not. Approve only the specific pages that must receive a customer after a sign-in or account-connection journey.

Can temporary preview pages stay approved?

Only when they are still required, controlled by your team, separated from the public setup when possible, and regularly tested. Otherwise, remove them.

What should I do with an address I do not recognize?

Do not guess. Find who controls it and which customer journey needs it. If you cannot verify both, keep it out of the public approved list until someone responsible can confirm it.

check your published app

Check what strangers can see in your published app

Start with a free check. VibeCodeWall looks at the public version of your app and keeps watching for important changes over time.

check my app free →