mirror of
https://github.com/j93es/browser-use-oauth.git
synced 2026-06-04 04:01:51 +09:00
fix: 온도 설정 및 OAuth 제공자 식별 프롬프트 개선
This commit is contained in:
parent
e1319a108d
commit
6ddeed2173
5 changed files with 33 additions and 42 deletions
|
|
@ -21,5 +21,5 @@ def CreateChatGoogleGenerativeAI(model: str):
|
|||
},
|
||||
callbacks=[QuotaExhaustedHandler()],
|
||||
# API 호출 간격 조정
|
||||
temperature=0.1,
|
||||
temperature=0.0,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,58 +1,48 @@
|
|||
# OAuth 리스트 추출용 프롬프트 (클릭하지 않고 단순 식별만)
|
||||
extract_oauth_list_prompt = f"""
|
||||
🎯 목적: 로그인 페이지에서 **OAuth 제공자 리스트 추출**
|
||||
🎯 목적: 주어진 초기 URL 내에서 **OAuth 로그인 URL**을 찾아 아래 형식의 JSON으로 정리합니다.
|
||||
|
||||
📌 주요 규칙:
|
||||
- ❌ **OAuth 버튼을 클릭하지 마세요**
|
||||
- ✅ **OAuth 제공자만 식별하고 리스트 작성**
|
||||
- ❌ 일반 로그인은 무시
|
||||
- ❌ 검색 엔진 사용 금지
|
||||
📌 작업 목표:
|
||||
- Google, GitHub, Discord, Facebook, Apple 등 **OAuth 인증을 사용하는 외부 로그인 링크**를 모두 수집합니다.
|
||||
- 로그인 버튼, 링크 클릭 등을 통해 탐색을 진행할 수 있습니다.
|
||||
- OAuth URL이 실제로 포함된 최종 리디렉션 URL 또는 팝업 주소를 캡처합니다.
|
||||
- **같은 provider가 여러 번 나와도 가장 대표적인 URL 하나만 저장**합니다.
|
||||
|
||||
---
|
||||
🛑 제한 사항:
|
||||
- ❌ 로그인 입력창이나 이메일/비밀번호 입력 방식은 제외합니다.
|
||||
- ❌ 검색 엔진, 사이트 외부 탐색은 금지합니다.
|
||||
|
||||
## 🔍 Step 1: 로그인 페이지 접근
|
||||
🔍 탐색 방법:
|
||||
1. 초기 URL에 접속하여 **클라이언트용 로그인 페이지**로 진입합니다.
|
||||
2. 페이지가 정상적으로 로드되었다고 가정합니다.
|
||||
3. 'Continue with X', 'Continue with Google'... 등의 버튼이나 링크를 클릭합니다.
|
||||
4. 버튼 클릭 시 리디렉션되거나 팝업이 열린다면 해당 주소를 확인합니다.
|
||||
|
||||
* 초기 URL에 접속하여 **클라이언트용 로그인 페이지**로 진입합니다.
|
||||
* 쿠키 동의, 팝업 등은 무시하거나 닫고 계속 진행하세요.
|
||||
|
||||
---
|
||||
|
||||
## 👀 Step 2: OAuth 제공자 식별
|
||||
|
||||
아래 **OAuth SSO 버튼들만** 식별합니다:
|
||||
|
||||
**유효한 OAuth 제공자들**:
|
||||
* ✅ Google, GitHub, Facebook, LinkedIn, Microsoft, Naver, Kakao, Apple, Twitter/X
|
||||
* ✅ "Continue with..." 또는 "Sign in with..." 버튼들
|
||||
* ✅ OAuth 아이콘이 있는 버튼들
|
||||
|
||||
**제외할 항목들**:
|
||||
* ❌ 일반 로그인 (이메일/비밀번호 입력)
|
||||
* ❌ 패스키 (Passkey)
|
||||
* ❌ 전화번호 인증
|
||||
* ❌ 인증서 기반 로그인
|
||||
|
||||
---
|
||||
|
||||
## 📝 Step 3: 결과 반환
|
||||
|
||||
발견된 OAuth 제공자들을 다음 형식으로 반환:
|
||||
🧾 출력 형식 (예시):
|
||||
|
||||
```json
|
||||
{{
|
||||
"oauth_providers": [
|
||||
{{
|
||||
"provider": "Google",
|
||||
"oauth_uri": ""
|
||||
"oauth_uri": "https://accounts.google.com/o/oauth2/v2/auth?client_id=..."
|
||||
}},
|
||||
{{
|
||||
"provider": "GitHub",
|
||||
"oauth_uri": ""
|
||||
"oauth_uri": "https://github.com/login/oauth/authorize?client_id=..."
|
||||
}},
|
||||
{{
|
||||
"provider": "Discord",
|
||||
"oauth_uri": "https://discord.com/oauth2/authorize?client_id=..."
|
||||
}}
|
||||
]
|
||||
}}
|
||||
```
|
||||
|
||||
⚠️ **중요**: 버튼을 클릭하지 마세요. 단순히 식별만 하면 됩니다.
|
||||
📌 주의:
|
||||
결과가 없는 provider는 JSON에 포함하지 않아도 됩니다.
|
||||
정확한 provider 이름과 oauth_uri를 매칭해 주세요
|
||||
|
||||
"""
|
||||
|
||||
|
|
|
|||
|
|
@ -127,8 +127,8 @@ chrome://settings/clearBrowserData에 들어가서 삭제해주세요.
|
|||
* ✅ **모든 SSO 로그인은 반드시 실행** (가능한 버튼은 모두 클릭)
|
||||
* 🔁 단계는 반드시 순서대로 진행
|
||||
* 🔐 로그인은 쿠키/세션으로 유지된 상태에서 수행
|
||||
* 🚫 직접 ID/PW 입력하지 않음
|
||||
* ⛔ 추측 URL 클릭 금지
|
||||
* 👀 직접 OAuth Providor ID/PW를 입력하여도 됨 가지고 있다면
|
||||
* ⛔ 추측한 URL은 접속하지 않음
|
||||
* ❗ 예외 발생 시 반드시 규정된 JSON 포맷만 반환
|
||||
|
||||
---
|
||||
|
|
|
|||
4
run.py
4
run.py
|
|
@ -70,8 +70,8 @@ def main():
|
|||
print("라인 번호는 0 이상이어야 합니다.")
|
||||
sys.exit(1)
|
||||
|
||||
if args.start_line >= args.end_line:
|
||||
print("시작 라인은 종료 라인보다 작아야 합니다.")
|
||||
if args.start_line > args.end_line:
|
||||
print("시작 라인은 종료 라인보다 크거나 같아야 합니다.")
|
||||
sys.exit(1)
|
||||
|
||||
# 도메인 파일 다운로드
|
||||
|
|
|
|||
1
setup.py
1
setup.py
|
|
@ -44,6 +44,7 @@ def setup_storage():
|
|||
print("======================================================")
|
||||
print("👀 원하는 OAuth Providor를 직접 모두 로그인 한 후에 브라우저를 닫으면 설정이 완료됩니다.")
|
||||
os.system('uv run playwright open https://google.com/ --save-storage=./data/storage_state.json')
|
||||
if os.path.exists('./data/storage_state.json'):
|
||||
os.startfile('./data/storage_state.json')
|
||||
print("✅ 쿠키와 로컬 스토리지 설정 완료.")
|
||||
print("💾 ./data/storage_state.json 파일이 생성되었습니다.")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue