본문 바로가기

개발하자

파이썬을 사용하여 firebase admin sdk로 로그인 인증하는 방법

반응형

파이썬을 사용하여 firebase admin sdk로 로그인 인증하는 방법

내 파이어베이스 인증 데이터베이스에 등록된 그의 이메일과 비밀번호를 사용하여 사용자 로그인을 할 수 있는 방법이 있습니까? 나는 앱을 만들기 위해 파이어베이스 관리 SDK와 키비를 사용하고 있다.

import self as self
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
import firebase_admin
from firebase_admin import credentials
from firebase_admin import auth

creds = credentials.Certificate('E:/Key/koronaksha_Key.json')
firebase_admin.initialize_app(creds)
class MainApp(App):
    def build(self):
        cols = 2
        main_layout = BoxLayout(orientation="vertical")
        email_label = Label(text = 'Email')
        main_layout.add_widget(email_label)
        self.email_input = TextInput(multiline=False)
        main_layout.add_widget(self.email_input)
        pass_label = Label(text='Password')
        main_layout.add_widget(pass_label)
        self.pass_input = TextInput(password=True, multiline=False)
        main_layout.add_widget(self.pass_input)
        submit = Button(text='Submit',
                        size_hint=(.5, .1),
                        pos_hint={'center_x': .5, 'center_y': .1})
        submit.bind(on_press=self.on_press_button)
        main_layout.add_widget(submit)

        return main_layout

    def on_press_button(self, instance):
        print('You pressed the button!' + self.email_input.text + self.pass_input.text)
if __name__ == '__main__':
    app = MainApp()
    app.run()



그것은 SDK가 아니라 작동한다.

url = "%s?key=%s" % (__FIREBASE_USER_VERIFY_SERVICE, __FIREBASE_API_KEY)
data = {
    "email": request.data['email'],
    "password": request.data['password'],
    "returnSecureToken": True
}
result = requests.post(url, json=data)
if result.ok:
   token = auth.create_custom_token(user_rec['localId'])
   exp = datetime.timedelta(days=1)
   cookie = auth.create_session_cookie(user_rec['idToken'], expires_in=exp)
else:
    print('User %s fail to login')

반응형