
Andrew Hanna

Tekunda Team

In september 2025 voert Salesforce grote wijzigingen door in Connected App security die invloed hebben op hoe je applicaties authenticeren. Er gebeuren twee grote verschuivingen:
De OAuth 2.0 Device Flow wordt geblokkeerd.
Niet-geïnstalleerde Connected Apps zijn niet langer toegankelijk voor de meeste gebruikers.
Deze blog legt uit hoe je migreert van de Device Login flow naar Connected App OAuth2 Flow met PKCE, waarom deze wijziging belangrijk is en hoe je je goed voorbereidt.
De Device Flow (RFC8628) heeft een bekende kwetsbaarheid: hij kan worden gestart met alleen een client_id. Een kwaadwillende kan dit misbruiken in social engineering en gebruikers misleiden om onbetrouwbare apps goed te keuren.
Impact in de praktijk: Recente opvallende datalekken bij bedrijven zoals KLM Airfrance, Adidas, Google, Qantas en Allianz Life werden uitgevoerd door dreigingsgroepen zoals UNC6040/ShinyHunters met precies deze aanvalsvector. Aanvallers gebruikten social engineering, zoals telefoontjes namens IT, om medewerkers via Device Flow schadelijke Connected Apps te laten autoriseren.
Salesforce heeft bevestigd dat deze kwetsbaarheid in productieomgevingen is misbruikt, waardoor de deprecatie een security-noodzaak is en niet alleen een technische upgrade.
De veilige vervanging is PKCE (Proof Key for Code Exchange), een uitbreiding op de Authorization Code Flow die onderschepping van de authorization code voorkomt.
Maak een code_verifier aan, een willekeurige cryptografisch veilige string van 43-128 tekens.
Hash deze met SHA256 en base64url-encodeer hem → code_challenge.
Belangrijk: Gebruik base64url encoding, niet standaard base64. Dit
vervangt + door -, / door _ en
verwijdert paddingtekens = voor URL-veiligheid.
Zorg dat je de kritieke parameter opneemt die essentieel is voor PKCE:
code_challenge_method=S256
Voorbeeld:
https://login.salesforce.com/services/oauth2/authorize? client_id=YOUR_CLIENT_ID& response_type=code& redirect_uri=YOUR_CALLBACK_URL& scope=full refresh_token& code_challenge_method=S256& code_challenge=YOUR_CODE_CHALLENGE& state=YOUR_RANDOM_STATE
Stuur de code en code_verifier terug naar Salesforce:
POST /services/oauth2/token grant_type=authorization_code client_id=YOUR_CLIENT_ID code=AUTH_CODE code_verifier=ORIGINAL_CODE_VERIFIER redirect_uri=CALLBACK_URL
Salesforce voegt nieuwe permissies toe met regels op basis van je org-configuratie:
Gebruikers kunnen niet-geïnstalleerde apps openen met een van deze permissies:
Alleen de permissie Use Any API Client werkt voor toegang tot niet-geïnstalleerde apps.
Kritieke deadline: 2 september 2025, OAuth Device Flow support eindigt in Data Loader.
PKCE-fouten ("invalid code verifier"): meestal veroorzaakt door
ontbrekende code_challenge_method=S256 of onjuiste base64url encoding.
Geblokkeerde gebruikerstoegang na september: los dit op door de juiste permissie toe te wijzen op basis van je API Access Control-status.
Data Loader login failures: migreer de authenticatiemethode vóór 2 september 2025.
Onjuiste Connected App-configuratie: stel bij installatie "Permitted Users" in op "Admin approved users are pre-authorized" voor betere security control.
Audit Connected Apps:
Identificeer Device Flow-gebruik:
Plan PKCE-implementatie:
Implementeer PKCE-enabled OAuth flow:
code_challenge_method=S256 opTest in Salesforce sandbox:
Configureer Connected Apps correct:
Bereid Data Loader-migratie voor:
Monitor authenticatielogs:
Bied gebruikersondersteuning:
Review security policies per kwartaal:
Neem contact op met Salesforce Support om deze feature in te schakelen. Dit biedt:
Bestaande autorisaties: gebruikers die Connected Apps eerder hebben geautoriseerd, kunnen deze na september 2025 blijven gebruiken, BEHALVE wanneer die apps via Device Flow zijn geautoriseerd. Alle Device Flow-autorisaties worden direct geblokkeerd, ongeacht eerder gebruik.
Salesforce's deprecatie van Device Flow is niet alleen een technische upgrade, maar een kritieke securityreactie op echte aanvallen die grote organisaties hebben geraakt. De recente incidenten bij bekende bedrijven tonen de urgentie van deze verbeteringen.
Door te migreren naar Connected App OAuth2 Flow met PKCE en permissies correct te configureren, kunnen organisaties:
Belangrijkste succesfactoren:
Vroeg voorbereiden, grondig testen en goede governance invoeren minimaliseert verstoring en versterkt tegelijk de securityhouding van je organisatie.
Waarom blokkeert Salesforce de OAuth 2.0 Device Flow?
Omdat een Device Flow-verzoek met alleen een client_id gestart kan worden. Aanvallers belden medewerkers, deden zich voor als IT en lieten ze een kwaadaardige Connected App goedkeuren, dus is de flow ingetrokken in plaats van gerepareerd.
Wat vervangt Device Flow voor Salesforce-authenticatie?
De Authorization Code Flow met PKCE. Je genereert een code_verifier, stuurt de SHA256-hash daarvan in base64url mee als code_challenge, en geeft de originele verifier terug bij het inwisselen van de authorization code.
Waardoor krijg je een "invalid code verifier" bij PKCE?
Meestal door een ontbrekende code_challenge_method=S256 of door gewone
base64 waar base64url hoort. Base64url vervangt + en / door
- en _ en laat de padding weg.
Blijven bestaande Connected App-autorisaties werken?
Autorisaties via andere flows blijven gewoon werken. Alles wat een gebruiker via Device Flow heeft goedgekeurd wordt geblokkeerd, hoe lang het ook in gebruik is, dus die integraties moeten opnieuw geautoriseerd worden.
Hoe vind je niet-geïnstalleerde Connected Apps in je org?
Ga in Setup naar Connected Apps OAuth Usage. Een "Install"-knop in de kolom Actions markeert een app die wel geautoriseerd maar niet geïnstalleerd is, en dat is precies de lijst die je wilt nalopen.
Vrijblijvend.