framework/NextAuth
๐ ๏ธ Atlassian OAuth Provider ๊ฐ์
octo54
2025. 5. 9. 11:08
๋ฐ์ํ
๐ ๏ธ Atlassian OAuth Provider ๊ฐ์
Atlassian OAuth Provider๋ Jira, Confluence, Bitbucket ๋ฑ Atlassian ์ ํ ๊ณ์ ์ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
OAuth 2.0 ๊ธฐ๋ฐ์ผ๋ก, ์ฌ์ฉ์๊ฐ Atlassian ๊ณ์ ์ ํตํด ์ธ์ฆํ ์ ์์ต๋๋ค.
๐ฆ ์ค์ ์์ (pages/api/auth/[...nextauth].ts)
import NextAuth from "next-auth"
import AtlassianProvider from "next-auth/providers/atlassian"
export default NextAuth({
providers: [
AtlassianProvider({
clientId: process.env.ATLASSIAN_CLIENT_ID,
clientSecret: process.env.ATLASSIAN_CLIENT_SECRET,
}),
],
})
๐ ํ๊ฒฝ ๋ณ์ ์ค์ (.env)
ATLASSIAN_CLIENT_ID=your-atlassian-client-id
ATLASSIAN_CLIENT_SECRET=your-atlassian-client-secret
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-nextauth-secret
๐ Atlassian Developer Console ์ค์
- Atlassian Developer Portal ์ ์
- OAuth 2.0 ์ฑ ๋ฑ๋ก
- Redirect URI ์ค์ :
- http://localhost:3000/api/auth/callback/atlassian
- ๊ถํ ๋ฒ์(Scope) ์ค์ :
- read:user
- account:read
- offline_access
๐ ํด๋ผ์ด์ธํธ ์ ๋ณด ํ์ธ
- Client ID์ Client Secret์ Atlassian Developer Console์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
- ๋ฐ๋์ ํ๊ฒฝ ๋ณ์๋ก ๊ด๋ฆฌํ์ฌ ๋ณด์ ๊ฐํ
๐ชช ์ฌ์ฉ์ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
async function jwt({ token, account }) {
if (account?.provider === "atlassian") {
token.accessToken = account.access_token
}
return token
}
์ธ์ ์ ํฌํจ์ํค๊ธฐ
๋ฐ์ํ
async function session({ session, token }) {
session.accessToken = token.accessToken
return session
}
๐บ๏ธ ์ฌ์ฉ์ ์ ๋ณด ์์
import { useSession } from "next-auth/react"
export default function Profile() {
const { data: session } = useSession()
return (
<>
<p>Signed in as {session?.user?.name}</p>
<p>Access Token: {session?.accessToken}</p>
</>
)
}
โ ๏ธ ์ฃผ์์ฌํญ
- Atlassian OAuth๋ ์ธ์ฆ ํ JWT ํ ํฐ์ ๋ฐ๊ธํฉ๋๋ค.
- ํ ํฐ ๋ง๋ฃ ์ ์๋ ๊ฐฑ์ ์ด ๋์ง ์์ผ๋ฏ๋ก, refresh token์ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
NextAuth Atlassian, Jira ๋ก๊ทธ์ธ, Confluence ์ธ์ฆ, OAuth2 Next.js, Atlassian Client ID ์ค์ , Atlassian OAuth ์ค์ , Bitbucket ๋ก๊ทธ์ธ, ์ฌ์ฉ์ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ, ์ธ์ฆ ํ ํฐ ๊ด๋ฆฌ, SEO ์ต์ ํ 10๊ฐ
๋ฌธ์๊ฐ ๋ค์ ์ด๋ฆฌ๋ฉด ์๋ฌธ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๋ค์์ผ๋ก ํ ํฐ ๊ฐฑ์ ์ฒ๋ฆฌ๋ ๊ถํ ์ค์ ๋ฌธ์ ํด๊ฒฐ๋ ํ์ํ์๋ฉด ์๋ ค์ฃผ์ธ์! ๐