Erinnern Sie sich an die Tage, als Benutzer für jede App eindeutige Benutzernamen und Passwörter benötigten? Es ist Zeit, weiterzumachen.
Lassen Sie uns die Anmeldung bei Ihrer App einfacher machen, indem wir GitHub Sign-In integrieren, eine großartige Wahl für Entwickler und technisch versierte Benutzer.
GitHub OAuth ermöglicht Ihnen die nahtlose Authentifizierung von Benutzern und den Zugriff auf deren öffentliches Profil oder zusätzliche Daten über die GitHub-API.
Lassen Sie uns dies in überschaubare Schritte für Ihr Frontend und Backend aufteilen.
Gehen Sie zu den GitHub-Einstellungen: Navigieren Sie zu den GitHub-Entwicklereinstellungen.
OAuth-Apps: Klicken Sie in der Seitenleiste auf OAuth-Apps.
Kopieren Sie die Client-ID: Nach der Erstellung stellt GitHub eine Client-ID bereit.
Erstellen Sie ein Client-Geheimnis: Generieren Sie ein Client-Geheimnis, das für Back-End-Vorgänge wie den Austausch von Tokens gegen Benutzerdaten erforderlich ist.
Verwenden Sie den folgenden HTML- und CSS-Code, um eine GitHub-Anmeldeschaltfläche anzuzeigen:
<div> <pre class="brush:php;toolbar:false">.github-signin-container { background-color: #000; transition: background-color 0.3s ease; border-radius: 6px; border: none; } .github-signin-btn { display: flex; align-items: center; justify-content: center; background-color: #000; color: #fff; font-size: 16px; font-weight: 600; padding: 10px 20px; border: none; border-radius: 6px; cursor: pointer; text-decoration: none; transition: background-color 0.3s ease; width: 100%; } .github-signin-btn:hover { background-color: #333; } .github-signin-btn .github-icon { width: 25px; height: 25px; margin-right: 8px; } .github-signin-btn span { font-family: Arial, sans-serif; font-size: 16px; }
Verwenden Sie JavaScript, um den Benutzer zur Autorisierungsseite von GitHub umzuleiten:
const handleGithubLogin = () => { const githubAuthUrl = `https://github.com/login/oauth/authorize?client_id=${GITHUB_CLIENT_ID}&redirect_uri=${REDIRECT_URI}&scope=read:user`; window.location.href = githubAuthUrl; };
Ersetzen Sie GITHUB_CLIENT_ID und REDIRECT_URI durch Ihre Werte.
GitHub leitet mit einem ?code=
useEffect(() => { const params = new URLSearchParams(window.location.search); const code = params.get("code"); if (!code) return; const target = `https://backend.com/external-signup?app=${appName}&accessToken=${code}&provider=github`; callBackendAPI("GET", target); }, []);
Dadurch wird der Code an Ihr Backend gesendet, um ihn sicher gegen ein Zugriffstoken einzutauschen.
Verwenden Sie den OAuth-Token-Endpunkt von GitHub:
const GITHUB_ACCESS_TOKEN_URL = 'https://github.com/login/oauth/access_token'; const url = `${GITHUB_ACCESS_TOKEN_URL}?client_id=${GITHUB_CLIENT_ID}&client_secret=${GITHUB_SECRET_ID}&code=${request.body.code}`; const response = await fetch(url, { method: "GET", headers: { Accept: "application/json", "Accept-Encoding": "application/json", }, }); const githubUserData = await response.json(); const accessToken = githubUserData.access_token;
Ersetzen Sie GITHUB_CLIENT_ID und GITHUB_SECRET_ID durch die Werte aus Schritt 1.
Rufen Sie mit dem Zugriffstoken die Benutzer-API von GitHub auf, um Benutzerinformationen abzurufen:
<div> <pre class="brush:php;toolbar:false">.github-signin-container { background-color: #000; transition: background-color 0.3s ease; border-radius: 6px; border: none; } .github-signin-btn { display: flex; align-items: center; justify-content: center; background-color: #000; color: #fff; font-size: 16px; font-weight: 600; padding: 10px 20px; border: none; border-radius: 6px; cursor: pointer; text-decoration: none; transition: background-color 0.3s ease; width: 100%; } .github-signin-btn:hover { background-color: #333; } .github-signin-btn .github-icon { width: 25px; height: 25px; margin-right: 8px; } .github-signin-btn span { font-family: Arial, sans-serif; font-size: 16px; }
Verwenden Sie diese Daten, um einen Benutzer in Ihrer Datenbank zu erstellen oder zu aktualisieren.
Ich arbeite an einem Tool namens LiveAPI, das eine sichere, schöne API-Dokumentation direkt aus Ihrer Codebasis generiert. Bonus: Sie können damit APIs ausführen und Anforderungsausschnitte in jeder Sprache generieren!
Probieren Sie es aus und sparen Sie Zeit bei der Dokumentation, während Sie sich auf Ihre App konzentrieren können. Viel Spaß beim Codieren!
Das obige ist der detaillierte Inhalt vonSo integrieren Sie die GitHub-Anmeldung: Eine Anleitung in vier Schritten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!