Merge pull request #15 from j93es/hotfix/google-login-hint

Docs, Google Login Hint Hotfix
This commit is contained in:
암냥 2025-06-20 22:03:09 +09:00 committed by GitHub
commit e063dadb72
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 30 additions and 6 deletions

View file

@ -1,5 +1,7 @@
# 환경 설정
## Python Virtual Environment
이 프로젝트는 [uv](https://docs.astral.sh/uv/getting-started/installation/)라는 Python 패키지 관리자를 사용하여 설정해야합니다.
uv 설치 후 다음과 같은 명령어를 입력합니다.
@ -8,8 +10,33 @@ uv 설치 후 다음과 같은 명령어를 입력합니다.
uv sync
```
## Environment
venv와 패키지가 설치가 됩니다.
.env.example을 복사하여 .env를 붙여넣습니다.
`GOOGLE_ID=`에 봇에서 쓸 구글 계정의 전체 GMail을 기입합니다.
입력하지 않는다면 Google OAuth시 자동적으로 넘어가지 않을 수도 있습니다.
---
> [oauth-backend](https://github.com/j93es/oauth-backend) 프록시를 사용한다면 이 가이드에 따라 인증서 또한 설정되어야만 합니다.
>
> 그렇지 않으면 실행되지 않습니다.
>
> 윈도우 환경에서는 `sudo certutil -addstore root mitmproxy-ca-cert.cer`로 인증합니다.
>
> Sudo가 활성화되어있지 않은 환경에서는 관리자로 상향된 쉘에서 실행합니다.
>
> MacOS 환경에서는 `sudo security add-trusted-cert -d -p ssl -p basic -k /Library/Keychains/System.keychain ~/.mitmproxy/mitmproxy-ca-cert.pem`으로 인증합니다.
>
> 다른 플렛폼은 수동으로 설정되어야만 합니다.
> https://docs.mitmproxy.org/stable/concepts/certificates/
---
# 실행 방법
```
@ -17,6 +44,7 @@ uv run main.py
```
이러면 http(s)://localhost:11080로 서버가 열리게 됩니다.
http://localhost:11081로 백엔드 서버가 열리게 됩니다.
# 기여 방법

View file

@ -1,5 +1,3 @@
import lib.target as target
from lib.report import save_report
import os
from urllib.parse import urlparse, parse_qs, urlencode, urlunparse
from dotenv import load_dotenv
@ -16,7 +14,6 @@ class GoogleLoginHint:
async def request(self, flow):
"""Google OAuth 요청을 가로채서 login_hint를 추가하거나 수정"""
req = flow.request
method = req.method
url = req.pretty_url
# Google OAuth 인증 URL인지 확인
@ -45,11 +42,10 @@ class GoogleLoginHint:
parsed_url.fragment
))
# 요청 URL 수정
# 요청 URL 수정 - URL과 호스트 모두 업데이트
flow.request.url = new_url
flow.request.pretty_url = new_url
print(f"🔄 Modified URL: {new_url}")
def _is_google_oauth_url(self, url):
"""Google OAuth URL인지 확인"""
google_oauth_domains = [