{"id":9365,"date":"2026-08-11T17:35:00","date_gmt":"2026-08-11T15:35:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=9365"},"modified":"2026-08-10T13:47:00","modified_gmt":"2026-08-10T11:47:00","slug":"google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/","title":{"rendered":"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Google hat die Passkey-Pflicht f\u00fcr den Zugriff auf die Google Ads API am 27.07.2026 angek\u00fcndigt, der Rollout l\u00e4uft seit dem 5. August. Seither taucht in jedem Team-Chat dieselbe Frage in immer neuen Varianten auf: \u201eM\u00fcssen wir unseren OAuth Client neu ausstellen?&#8221; Nein, m\u00fcssen Sie nicht. Die Anforderung betrifft die Art, wie sich der User Account hinter einer Autorisierung anmeldet. Der OAuth Client ist von dieser \u00c4nderung nicht betroffen, und bestehende Tokens bleiben g\u00fcltig \u2013 w\u00e4hrend Sie das hier lesen, h\u00f6rt also nichts auf zu funktionieren. Was Sie brauchen, ist keine Panikmigration, sondern eine ehrliche Bestandsaufnahme: Welche Integrationen h\u00e4ngen daran, dass sich ein Mensch anmelden kann?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Der Login f\u00e4llt darunter, der OAuth Client nicht<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Unterscheidung ist schmal, und sie entscheidet alles Weitere. Wurde eine Integration von einer Person autorisiert, die sich mit ihrem eigenen Google-Konto durch einen Consent Screen geklickt hat, dann f\u00e4llt die Anmeldung dieses Kontos unter die Passkey-Pflicht. L\u00e4uft sie \u00fcber einen Service Account, dann nicht: Service Accounts sind ausgenommen. Gleiche API, gleiche Client Library, gleiche Customer IDs \u2013 der einzige Unterschied ist, wer sich authentifiziert hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daraus folgen zwei Dinge. Kein Dashboard geht an einem festen Stichtag aus: Bestehende Tokens funktionieren weiter, der kritische Moment ist erst die n\u00e4chste Anmeldung \u2013 etwa nachdem ein Token versehentlich widerrufen wurde oder eine Maschine neu aufgesetzt worden ist. Und das Risiko steckt in Personen, nicht im Code. Ihr Repository verr\u00e4t Ihnen nicht, wer den Refresh Token besitzt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine Richtigstellung, weil sie sich hartn\u00e4ckig h\u00e4lt: Mehrere Beitr\u00e4ge behaupten, f\u00fcr betroffene Konten gebe es eine siebent\u00e4gige Sperrfrist. Davon steht nichts in der Ank\u00fcndigung. Diese Frist existiert nicht, und ein Migrationsplan, der darauf aufbaut, treibt Sie dazu, die falsche Arbeit zu \u00fcberst\u00fcrzen.<\/p>\n\n\n<figure class=\"lw-diagram\">\n<img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/hand-adspasskey-de.png\" width=\"1120\" height=\"656\" decoding=\"async\" loading=\"lazy\"\n     alt=\"Zwei Wege zu einem Kontrollpunkt: eine \u00fcber ein pers\u00f6nliches Konto autorisierte Integration muss die Passkey-Pflicht passieren, ein Service Account umgeht sie\">\n<figcaption>Die Pflicht trifft das Konto, das die Integration autorisiert hat, nicht den OAuth-Client. Was \u00fcber einen Service Account l\u00e4uft, geht am Kontrollpunkt vorbei; was \u00fcber eine Person l\u00e4uft, nicht.<\/figcaption>\n<\/figure>\n\n\n<h2 class=\"wp-block-heading\">2. Halten Sie fest, wer was autorisiert<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Beginnen Sie mit dem Artefakt, das fast niemand hat: einer schriftlichen Matrix Ihrer eigenen Zug\u00e4nge. Eine YAML-Datei im Repository ist ein Anfang, besser ist eine kleine SQLite-Tabelle, denn Sie werden sie abfragen wollen. Wichtig sind genau die Spalten, die Sie in sechs Monaten nicht mehr aus dem Ged\u00e4chtnis rekonstruieren k\u00f6nnen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-sql\">create table ads_authorization (\n  integration     text primary key,\n  auth_type       text not null check (auth_type in ('user_account','service_account')),\n  google_account  text,\n  config_path     text,\n  token_store     text,\n  owner           text not null,\n  deputy          text,\n  customer_ids    text,\n  last_verified   date\n);\n\ninsert into ads_authorization values\n ('nightly-cost-load','user_account','ads-bot@example.com','\/srv\/etl\/conf\/ads.yaml',\n  'vault:kv\/ads\/refresh','l.wojcik','m.kowalski','123-456-7890,222-333-4444','2026-08-08'),\n ('bi-connector','service_account',null,'\/srv\/bi\/sa.json',\n  'gcp-secret-manager','platform-team',null,'123-456-7890','2026-08-08');<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>auth_type:<\/strong> trennt den Bestand mit einer einzigen <code>where<\/code>-Klausel in betroffen und nicht betroffen.<\/li>\n<li><strong>deputy:<\/strong> das Feld, um das es bei dieser Anforderung eigentlich geht. Wenn die Person in <code>owner<\/code> drei Wochen weg ist, wer meldet sich dann an?<\/li>\n<li><strong>token_store:<\/strong> Ein pers\u00f6nliches Home-Verzeichnis ist hier ein Befund, kein Wert.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Finden Sie die Autorisierungen, die Sie vergessen haben<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Inventar ist nur so gut wie seine Abdeckung, und wehtun werden genau die Eintr\u00e4ge, die Ihnen entfallen sind. Durchsuchen Sie die Config-B\u00e4ume und vergleichen Sie das Ergebnis anschlie\u00dfend mit dem, was Sie notiert haben.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">grep -rIls -e refresh_token --include='*.y*ml' --include='*.json' --include='*.env' \\\n  \/etc \/srv \/opt \/home<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-python\">#!\/usr\/bin\/env python3\n\"\"\"Lokale OAuth-Configs klassifizieren und mit dem Zugangsinventar abgleichen.\"\"\"\nimport pathlib, re, sqlite3, sys\n\nroot = pathlib.Path(sys.argv[1])\npatterns = (\"*.yaml\", \"*.yml\", \"*.json\", \"*.env\", \"*.ini\")\nhas_refresh = re.compile(r\"refresh_token\\s*[:=]\\s*\\S\")\nis_service = re.compile(r\"service_account|private_key_id\")\n\ndb = sqlite3.connect(\"access.db\")\nknown = {row[0] for row in db.execute(\"select config_path from ads_authorization\")}\n\nfor pattern in patterns:\n    for path in sorted(root.rglob(pattern)):\n        text = path.read_text(errors=\"ignore\")\n        if not (has_refresh.search(text) or is_service.search(text)):\n            continue\n        kind = \"service_account\" if is_service.search(text) else \"user_account\"\n        flag = \"\" if str(path) in known else \"  UNTRACKED\"\n        print(f\"{kind:16}{path}{flag}\")<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Lassen Sie das Skript auf jedem Host laufen, der mit der API spricht \u2013 auch auf dem Analysten-Laptop, den niemand erw\u00e4hnen m\u00f6chte. Jede <code>UNTRACKED<\/code>-Zeile ist entweder eine Zeile, die Sie dem Inventar schulden, oder ein Credential, das Sie heute widerrufen sollten. Hinter jeder <code>user_account<\/code>-Zeile steht eine Person, die Sie jetzt namentlich benennen m\u00fcssen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Der Notfallpfad f\u00fcr geteilte Zug\u00e4nge und Agenturzug\u00e4nge<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt der operative Teil. Legen Sie f\u00fcr jede <code>user_account<\/code>-Zeile vorab fest, was passiert, wenn diese Person nicht erreichbar ist \u2013 denn eine Anmeldung, die einen Passkey verlangt, verlangt auch den Menschen, der ihn besitzt.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Benennen Sie eine Vertretung, die im Rahmen Ihrer eigenen Richtlinien Zugriff auf dasselbe Google-Konto hat, und tragen Sie sie in die Matrix ein.<\/li>\n<li>Holen Sie den Refresh Token aus pers\u00f6nlichen Dateien heraus in Ihren Secret Store, damit die erneute Authentifizierung der einzige Schritt bleibt, f\u00fcr den es noch eine Person braucht.<\/li>\n<li>Notieren Sie pro Integration, welche Customer IDs keine Daten mehr liefern, wenn diese Autorisierung wegbricht. Das ist Ihr Blast Radius, und er bestimmt die Reihenfolge der Arbeit.<\/li>\n<li>Halten Sie bei Agentur-Setups schriftlich fest, welche Seite die Autorisierung h\u00e4lt und wer an einem Freitagabend angerufen wird. Pr\u00fcfen Sie anschlie\u00dfend, ob dort ein Service Account praktikabel ist, denn solche Zeilen fallen vollst\u00e4ndig aus dem Geltungsbereich der Anforderung heraus.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-sql\">select integration, google_account, owner, customer_ids\nfrom ads_authorization\nwhere auth_type = 'user_account'\n  and (deputy is null or last_verified &lt; date('now','-90 day'))\norder by owner;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Packen Sie diese Abfrage in einen viertelj\u00e4hrlichen Cronjob und schicken Sie sich die Ausgabe per Mail. Eine leere Ergebnismenge ist das gesamte Review.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sie haben drei kleine Dinge gebaut: eine Tabelle, die festh\u00e4lt, welche Integration von welchem Konto autorisiert ist, einen Suchlauf, der die Konfigurationen findet, die niemand dokumentiert hat, und eine Abfrage, die jeden Single Point of Failure ohne Vertretung auflistet. Nichts davon ist auf Google beschr\u00e4nkt. Es beantwortet eine Frage, die Ihnen fr\u00fcher oder sp\u00e4ter jede API stellen wird, in deren Autorisierungskette ein Mensch steht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Was Ihnen das einbringt, ist Ruhe. Bestehende Tokens funktionieren weiter, Service Accounts sind ausgenommen, Ihr OAuth Client bleibt unangetastet, und die siebent\u00e4gige Sperre, die in den Foren immer wieder wiederholt wird, steht \u00fcberhaupt nicht in der Ank\u00fcndigung. Lesen Sie das Original, bevor Sie auf Grundlage irgendeiner Zusammenfassung handeln \u2013 auch dieser hier: <a href=\"https:\/\/ads-developers.googleblog.com\/2026\/07\/passkey-authentication-requirement-for.html\">Passkey authentication requirement for the Google Ads API<\/a>. Und verwenden Sie die gesparte Zeit auf die Zeilen Ihrer Matrix, in denen <code>deputy<\/code> noch leer ist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Passkey-Pflicht, deren Rollout am 5. August begonnen hat, betrifft den User Account hinter Ihrer Autorisierung, nicht den OAuth Client \u2013 Service Accounts sind ausgenommen.<\/p>\n","protected":false},"author":1,"featured_media":9380,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[92026,92068,92048,92071],"class_list":["post-9365","post","type-post","status-publish","format-standard","hentry","category-digital-marketing-de","tag-marketing-cyfrowy-pl-de","tag-google-ads-de","tag-rest-api-de","tag-web-security-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Die Passkey-Pflicht, deren Rollout am 5. August begonnen hat, betrifft den User Account hinter Ihrer Autorisierung, nicht den OAuth Client \u2013 Service Accounts sind ausgenommen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-11T15:35:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht\",\"datePublished\":\"2026-08-11T15:35:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/\"},\"wordCount\":886,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg\",\"keywords\":[\"Digital Marketing\",\"Google Ads\",\"REST API\",\"Web Security\"],\"articleSection\":[\"Digital Marketing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/\",\"name\":\"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg\",\"datePublished\":\"2026-08-11T15:35:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg\",\"width\":1200,\"height\":630,\"caption\":\"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/digital-marketing-de\\\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/","og_locale":"en_US","og_type":"article","og_title":"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht - Lukas Wojcik - Blog","og_description":"Die Passkey-Pflicht, deren Rollout am 5. August begonnen hat, betrifft den User Account hinter Ihrer Autorisierung, nicht den OAuth Client \u2013 Service Accounts sind ausgenommen.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-11T15:35:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg","type":"image\/jpeg"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht","datePublished":"2026-08-11T15:35:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/"},"wordCount":886,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg","keywords":["Digital Marketing","Google Ads","REST API","Web Security"],"articleSection":["Digital Marketing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/","name":"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg","datePublished":"2026-08-11T15:35:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-9365-google-ads-api-passkeys-ihr-oauth-client-ist-in-ordn.jpg","width":1200,"height":630,"caption":"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/digital-marketing-de\/google-ads-api-passkeys-oauth-client-in-ordnung-login-nicht-de\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Google Ads API Passkeys: Ihr OAuth Client ist in Ordnung, Ihr Login nicht"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/9365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=9365"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/9365\/revisions"}],"predecessor-version":[{"id":9457,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/9365\/revisions\/9457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/9380"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=9365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=9365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=9365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}