social-login SKILL.md skillB
social-login from dannykkh/skill-olympus is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add dannykkh/skill-olympus/social-login@git:20260901.8bc747ePins git:20260901.8bc747e in mdr.lock. Pin the fingerprint instead.
- Audit grade
- B, 16 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- dannykkh/skill-olympus
- Path
skills/social-login/SKILL.md- Versions recorded
- 4
- Latest version
- git:20260901.8bc747e, committed Sep 1, 2026
- First version recorded
- Apr 2, 2026
- Size
- 28,690 bytes
- Repository stars
- 7
- License
- MIT
Social Login Implementation Guide. 소셜 로그인(Google, Apple, Kakao, Naver) 구현 가이드. React Native(Expo), Swift, Kotlin, Web 환경. 소셜 로그인, social login, 카카오/네이버/구글/애플 로그인, KOE205, DEVELOPER_ERROR, keyHash 문제와 실전 gotcha 요청에 사용한다.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Social Login Implementation Guide
소셜 로그인 구현 종합 가이드. Google, Apple, Kakao, Naver 4사를
React Native(Expo), Swift(iOS), Kotlin/Java(Android), Web 환경에서 구현합니다.
실제 프로덕션 삽질 경험에서 추출한 gotcha + 체크리스트 포함.
## Trigger
다음 키워드에 자동 활성화:
- "소셜 로그인", "social login", "OAuth 로그인"
- "카카오 로그인", "네이버 로그인", "구글 로그인", "애플 로그인"
- "kakao login", "naver login", "google sign-in", "apple sign-in"
- "DEVELOPER_ERROR", "KOE205", "keyHash validation"
## 핵심 개념: "프론트만 값을 가지고 있으면 안 되는 거구나?"
> 이것이 소셜 로그인에서 가장 많이 하는 실수입니다.
```
[사용자] → [프론트엔드] → [소셜 프로바이더] → [프론트엔드] → [백엔드] → [DB]
① SDK로 로그인 ② 토큰 발급 ③ 토큰 전달 ④ 토큰 검증
```
| 단계 | 프론트엔드 | 백엔드 |
|------|-----------|--------|
| ① 로그인 요청 | SDK로 소셜 로그인 UI 호출 | - |
| ② 토큰 획득 | `idToken` 또는 `accessToken` 받음 | - |
| ③ 토큰 전달 | 백엔드 `/auth/social` API 호출 | - |
| ④ 토큰 검증 | - | 소셜 서버에 직접 확인 (위조 방지) |
| ⑤ JWT 발급 | 우리 앱 JWT 저장 | 사용자 생성/조회 + JWT 생성 |
**왜 백엔드도 키가 필요한가?**
프론트에서 "카카오로 로그인했어요"라고만 하면 누구나 가짜 토큰을 보낼 수 있다.
백엔드가 카카오/구글 서버에 직접 물어봐서 진짜인지 확인해야 한다.
### 프로바이더별 백엔드 검증 방식
| 프로바이더 | 프론트가 보내는 것 | 백엔드 검증 방식 |
|-----------|-------------------|-----------------|
| **Google** | `idToken` (JWT) | JWT의 `aud`(Client ID)가 우리 앱인지 검증 |
…Read the whole file at its exact version.
How to install
mdr add dannykkh/skill-olympus/social-login@sha256:d03ba0414bb07b9aThe line at the top of this page pins the label git:20260901.8bc747e, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_dwpqtrhtumehs3tc)
5 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Apr 2, 2026 and Sep 1, 2026, about one every 51 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260901.8bc747e latest | 2026-09-01 | 8bc747e | 28,690 B | B | view · diff |
| git:20260624.a131251 | 2026-06-24 | a131251 | 28,839 B | B | view · diff |
| git:20260406.8f79678 | 2026-04-06 | 8f79678 | 28,688 B | B | view · diff |
| git:20260402.b02765c | 2026-04-02 | b02765c | 28,499 B | B | view |
Audit of the latest version
- fail: No script tag (matched: <script)
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (28690 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
Starting a new one? Use a template for SKILL.md on mdpantry, which passes every one of these checks and says what to change in it.
Source
dannykkh/skill-olympus · 7 stars · license MIT · pushed 2026-11-04 · branch master
API
GET https://markdownregistry.com/api/v1/artifacts/art_dwpqtrhtumehs3tc GET https://markdownregistry.com/api/v1/resolve?ref=dannykkh/skill-olympus/social-login GET https://markdownregistry.com/api/v1/blob/d03ba0414bb07b9a460827acb32e4a9e9042cedd19087582dc930f80dbba0141
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.