- Register application at https://developers.naver.com/apps/#/register
- Select the "네아로 (네이버 아이디로 로그인)" API
- Store the "Client ID"
$ npm install naver-id-login
import naver from 'naver-id-login'
A new popup window opens where the user is promted to type in their username
and password
const clientId = process.env.NAVER_CLIENT_ID
const callbackUrl = 'http://localhost:8080/callback/naver'
const auth = await naver.login(clientId, callbackUrl)
{
access_token: string
expires_in: string // e.g. "3600"
state: string
token_type: string // "bearer"
}
{
code: string // "popup-closed"
message: string // "The popup has been closed by the user before finalizing the operation"
}
In local route /callback/naver
(the chosen callbackUrl
during login()
)
naver.handleTokenResponse()
If naver.login()
has successfully been called, the accessToken
is stored and the accessToken
can be omitted.
const profile = await naver.getProfile()
However, if you want to get profiles from different logged in users you can override the stored accessToken
.
const profile1 = await naver.getProfile(ACCESS_TOKEN1)
const profile2 = await naver.getProfile(ACCESS_TOKEN2)
{
message: string // e.g. "success"
response?: {
age?: string // e.g. "30-39"
birthday?: string // e.g. "12-24"
email?: string
id: string
gender?: 'F' | 'M' | 'U'
name?: string
nickname?: string
profile_image?: string
}
resultcode: string // e.g. "00"
}