반응형
파이썬을 사용하여 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')
반응형
'개발하자' 카테고리의 다른 글
플러터 생성 명령이 실패했습니다. 오류가 발생했습니다 (1) | 2023.08.09 |
---|---|
포드 생성 시간을 피하기 위해 쿠버네티스 잡스를 위한 노동자 풀을 갖는 것이 가능한가? (0) | 2023.08.08 |
마크다운을 사용하여 주피터 노트북의 목차에 네스트된 주문 목록을 만들 수 있나요? (0) | 2023.08.07 |
주피터 오류: "jupyter_core.paths라는 이름의 모듈이 없습니다." (0) | 2023.08.06 |
테라폼: 우분투 20.08 LTS AWS에 특화된 AMI 목록 (0) | 2023.08.06 |