Application still says access denied after approval: how to fix it
This runbook is for customers who were told their access request was approved, but the application still shows "access denied" or a similar permission error. It walks you through the fastest checks first, then the common fixes for stale sessions, wrong account, group sync delays, app-side role mapping, and network restrictions.
TL;DR — If your request was approved but the app still says "access denied," the most common cause is that your current sign-in session is stale and does not include the new permission yet. Sign out of the app and your identity provider (the login service), then sign back in with the exact approved account; if that does not work, check whether group membership or app role mapping has actually reached the application. Reading time: ~6 min
The scenario
It is a normal Tuesday afternoon: your manager approved your request for access to a finance dashboard, the approval email landed five minutes ago, and you click the app expecting to get in. Instead, the page reloads and shows "Access denied," or it bounces you back to the login screen and then denies you again. You try a private window, maybe even another browser, but the result is the same. Meanwhile, the person who approved it is asking, "Did that fix it?"
Symptoms
- The app shows one of these messages after login:
Access deniedYou do not have permission to access this applicationUser is not assigned to this application403 ForbiddenNot authorized
- You received an approval email or ticket update saying access was granted.
- A coworker or admin can see your request as
Approved, but you still cannot open the app. - The issue happens in one browser profile but sometimes not another.
- If your organization uses single sign-on (SSO, one login used across many apps), you may be logged in successfully but still blocked inside the app.
- In app or identity logs, an admin may see lines like:
403 Forbidden
user not in required group
user is not assigned
role claim missing
insufficient privileges
policy denied by IP restriction
Likely causes
| Cause | How common | Quick check |
|---|---|---|
| Stale login session or cached token | Very common | Sign out of the app, close all browser tabs for it, then open a private/incognito window and sign in again |
| Signed in with the wrong account | Very common | Click your profile avatar in the app and compare the email shown to the email in the approval message |
| Group membership approved, but sync has not reached the app yet | Common | In your identity provider admin area, open your user record and check whether the required group is listed under Groups |
| App assignment or role mapping was not actually added | Common | In your provider's dashboard, open the application and check whether your user or group is assigned to that app |
| Network or location policy still blocks you | Less common | Disconnect VPN, then retry from your normal network, or check your current public IP at https://ifconfig.me |
| Local browser cookies/storage are corrupted | Less common | Try the same login in a private/incognito window |
Step-by-step diagnosis
-
Confirm you are using the approved account
In the application, click your profile picture or initials, then look for the signed-in email address. Compare it to the email address named in the approval email or ticket.
This is your problem if: the app shows a different email, such as a personal address or a second work account.
Jump to:### Wrong account signed in -
Force a fresh sign-in session
First try the browser path: sign out of the application, close every tab for that app, open a private/incognito window, and sign in again. If your company uses a central login page, sign out there too.
If you have the app URL and want a quick test, open it in a private window directly.
This is your problem if: access works in private/incognito, or works only after a full sign-out/sign-in.
Jump to:### Stale login session or cached token -
Check whether your group membership exists yet
Ask your admin to open your identity provider dashboard (for example, Okta, Microsoft Entra ID, Google Cloud Identity, or similar) and go to your user record, then open Groups.
The exact path varies by provider, but it is usually:Users → [your user] → Groups.
This is your problem if: the required group is missing, or it was added only moments ago and the app is known to sync groups on a schedule.
Jump to:### Group membership approved but not synced to the app -
Check app assignment and role mapping
Ask your admin to open the app entry in the identity provider dashboard. The usual path is:Applications → [app name] → AssignmentsorEnterprise applications → [app] → Users and groups.
This is your problem if: your user or your approved group is not assigned to the app, or the assigned role is blank/wrong.
Jump to:### App assignment or role mapping missing -
Rule out network or location restrictions
Some apps allow login but deny access from the wrong network, country, or VPN exit point. First, disconnect any VPN and retry. Then check your public IP by visiting:
https://ifconfig.me
Share that IP with your admin and ask them to compare it to the app's allowlist (approved IP list) or conditional access policy.
This is your problem if: the app works from one network but not another, or the admin sees a policy denial tied to IP/location/device state.
Jump to: ### Network or location policy still blocks access
- Clear site data for the app
If private/incognito works but your normal browser still fails, clear saved cookies and storage for just that site. In most browsers: click the padlock icon next to the site address → site settings → clear data/reset permissions.
This is your problem if: the app starts working immediately after clearing site data.
Jump to:### Corrupted browser cookies or site storage
Fixes
Stale login session or cached token
Your browser may still be holding an old token (a temporary sign-in proof) that was issued before approval.
- Sign out of the application.
- Sign out of your organization's login page if it opens in a separate tab.
- Close all tabs for the app.
- Open a private/incognito window and sign in again.
- If you still fail in your normal browser, clear site data for that app only.
For users comfortable with browser settings, the action is usually:
- Open the app
- Click the padlock icon in the address bar
- Open site settings
- Clear data / reset permissions
Verify it worked: after signing back in, the app opens normally and no longer shows 403 Forbidden or Access denied.
Wrong account signed in
If you have more than one account, the approval may have been granted to a different identity than the one currently in the browser.
- In the app, click your profile and note the signed-in email.
- Compare it to the approval email or ticket.
- If it is wrong, sign out.
- In a private/incognito window, open the app and choose Use another account when prompted.
- Sign in with the exact approved email address.
If your browser auto-picks the wrong account, remove that account from the browser profile or use a separate browser profile for work.
Verify it worked: your profile in the app shows the approved email address and access is granted.
Group membership approved but not synced to the app
Sometimes the request system updates a group, but the application only refreshes group membership every few minutes or on a schedule.
Ask your admin to do these checks in the identity provider:
Users → [your user] → Groupsand confirm the required group is present.Applications → [app name]and look for a Sync, Provision, or Refresh action if the provider offers one.
If the app reads groups from a token at login time, you may also need a fresh sign-in after the group is added.
For admins using SCIM (System for Cross-domain Identity Management, a standard way to push users/groups into apps), check the provisioning status and rerun a sync if available.
Verify it worked: the required group appears on your user record, the app sync completes successfully, and a fresh login grants access.
App assignment or role mapping missing
Approval does not always mean the app itself got the assignment. In many setups, you need both: group membership and assignment of that user/group to the application, sometimes with a specific role.
Admin steps usually look like one of these generic paths:
Applications → [app name] → Assignments → Assign user/groupEnterprise applications → [app] → Users and groups → Add user/group
If the app uses role claims (role values sent during login), confirm the expected role is assigned. Common examples are Reader, User, Admin, or an app-specific role.
If your app team manages access inside the app instead of the identity provider, ask them to check the app's own admin screen for your user and role.
Verify it worked: your user or group is visible in the app assignment list with the correct role, and a new login succeeds.
Network or location policy still blocks access
Some organizations approve your app access but still require you to come from a trusted network, approved country, managed device, or company VPN.
- Disconnect from any personal VPN and retry.
- If your company requires the corporate VPN, connect to it and retry.
- Check your public IP:
https://ifconfig.me
- Send that IP to your admin and ask them to compare it with the app's allowlist or conditional access rules.
If you are the admin and the app is fronted by nginx, an allowlist can look like this:
location / {
allow 203.0.113.10;
allow 198.51.100.0/24;
deny all;
}
If your current IP is not in the allowed list, add the correct office/VPN range and reload nginx.
⚠️ Changing network allowlists can expose the app to more users than intended. Only add the exact IP or CIDR range you expect, and have a rollback plan before saving.
Verify it worked: the app works from the approved network and the denial disappears.
Corrupted browser cookies or site storage
If private/incognito works but your normal browser does not, the browser likely has stale or broken local data for that site.
- Open the app in your normal browser.
- Click the padlock icon next to the address.
- Open site settings.
- Clear data / reset permissions for that site.
- Reload and sign in again.
If that still fails, try another browser profile instead of wiping your whole browser.
Verify it worked: the app works in your normal browser after clearing only that site's data.
Prevention
- Add a post-approval check in your access workflow. After granting access, validate both group membership and app assignment before closing the ticket. Example checklist:
1. User added to required group
2. Group or user assigned to application
3. Correct app role selected
4. User notified to sign out and sign back in
- Shorten or document token lifetime for access-sensitive apps. If your login tokens last a long time, users keep old permissions until they reauthenticate. Publish a standard note in approval emails:
Your access is approved. If the app still shows Access denied, sign out of the app and your company login page, then sign in again.
- Monitor provisioning and group-sync failures. In your identity provider or app logs, alert on failed provisioning and assignment errors. Useful log filters include:
user is not assigned
provisioning failed
group sync failed
role claim missing
403 Forbidden
- Pin one access model per app. Decide whether the source of truth is identity-provider groups, direct app assignment, or app-local roles. Document it in the app runbook so approvals do not stop halfway.
- Add a simple "who am I?" view in the app. If your app team can change the product, show the signed-in email, groups, and role on a profile or diagnostics page. That turns a vague access issue into a 30-second check.
- Test network policy changes in CI/CD or change review. If access depends on IP allowlists or reverse-proxy rules, keep them in version control and review diffs. Example nginx snippet under source control:
allow 203.0.113.10;
allow 198.51.100.0/24;
deny all;
That makes it easy to see when a required office or VPN range was removed by mistake.
This article was written by an AI system and published pending human review. Verify anything you intend to act on.
Have a project in mind?
Get an instant AI price estimate for it, or talk directly to our team.
One email a month on what we learn building with AI