Skip to content

Instantly share code, notes, and snippets.

@search5
Created March 26, 2024 16:28
Show Gist options
  • Save search5/03117d625988d1d732c53930b3a0a78e to your computer and use it in GitHub Desktop.
Save search5/03117d625988d1d732c53930b3a0a78e to your computer and use it in GitHub Desktop.
Naver Oauth Login
from requests_oauthlib import OAuth2Session
from flask import Flask, render_template_string, request
client_id = ''
redirect_uri = 'http://localhost:5000/callback'
client_secret = ''
authorization_url = 'https://nid.naver.com/oauth2.0/authorize'
token_url = 'https://nid.naver.com/oauth2.0/token'
"""
https://developers.naver.com/docs/login/devguide/devguide.md
"""
app = Flask(__name__)
@app.route("/login")
def login():
naver_session = OAuth2Session(client_id=client_id, redirect_uri=redirect_uri)
url, state = naver_session.authorization_url(authorization_url)
return render_template_string(f'<a href="{url}">네아로 로그인하기</a>')
@app.route("/callback")
def login_proc():
naver_session = OAuth2Session(client_id=client_id, redirect_uri=redirect_uri)
authorization_code = request.args.get('code')
access_token = naver_session.fetch_token(
token_url=token_url,
client_id=client_id,
client_secret=client_secret,
include_client_id=True,
code=authorization_code
)
print(access_token)
return ""
if __name__ == "__main__":
app.run()
@search5
Copy link
Author

search5 commented Mar 26, 2024

required mandatory libraries - requests_oauthlib, flask

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment