12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- from fastapi import APIRouter, Form, Depends, HTTPException, Body
- from fastapi.security import OAuth2PasswordRequestForm, OAuth2PasswordBearer
- from app.models.models import User, UserPydantic,User_information,User_point
- from app.api import deps
- from sqlalchemy.orm import Session
- from typing import Any, Dict, Optional
- import secrets
- from fastapi_login.exceptions import InvalidCredentialsException
- from fastapi_login import LoginManager
- from datetime import timedelta,datetime
- from app.config import settings
- from pathlib import Path
- from jose import jwt
- import emails
- from emails.template import JinjaTemplate
- import logging
- import bcrypt
- import smtplib
- from email.mime.text import MIMEText
- from google.oauth2 import id_token
- from google.auth.transport import requests
- from fastapi.openapi.models import OAuthFlows as OAuthFlowsModel
- from datetime import timedelta,datetime
- from app.log import my_log
- from Crypto.Cipher import Blowfish
- from Crypto import Random
- import requests
- user_MOC = APIRouter()
- @user_MOC.post("/get_user_data_from_MOC")
- async def get_user_data_from_MOC(authCode:str = None):
- try:
- api_url = "https://member.moc.gov.tw/MOCMC/T0001/ottGetAuthToken"
- # 定義請求參數
- params = {
- 'SYS_ID': 'CRAFT_NTCRI',
- 'SYS_PASSWORD': 'luZ2le0W',
- 'AuthCode': '839bd320-14cf-49fd-a52b-63d518256964',
- 'IS_DEV': 'Y'
- }
- cert_file_path = '/home/choozmo/certificate.pem'
- key_file_path = '/home/choozmo/private_key.pem'
- cert_files = (cert_file_path, key_file_path)
- ca_cert = '/var/www/ssl/eCA1_GTLSCA.crt'
- # 發送 GET 請求
- response = requests.get(api_url, params=params)
- # 定義 API 網址
- api_url = "https://member.moc.gov.tw/MOCMC/T0002/getMemberData"
- # 定義請求參數
- params = {
- 'SYS_ID': 'CRAFT_NTCRI',
- 'SYS_PASSWORD': 'luZ2le0W',
- 'AuthToken': '5a367872-faab-4e6a-bbbc-81691712ae6e',
- 'IS_DEV': 'Y'
- }
- response = requests.get(api_url, params=params)
- except Exception as e:
- return {"msg": str(e), "code": 500}
|