인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
섹션 6 인증 failed 질문
작성
·
129
0
여러 방법으로 시도해봤는데 계속 failed가 뜨네요 왜그럴까요?
(py311) PS C:\Users\MS> http GET http://localhost:8080/login?user_name=dave
HTTP/1.1 200 OK
Connection: close
Content-Length: 18
Content-Type: application/json
Date: Tue, 05 Nov 2024 10:13:02 GMT
Server: Werkzeug/3.0.3 Python/3.12.4
{
"auth": "failed"
}
from flask import Flask, jsonify, request, render_template
app = Flask(__name__)
@app.route('/login')
def login():
username = request.args.get('user_name')
passwd = request.args.get('pw')
email = request.args.get('email_address')
print (username, passwd, email)
if username == 'dave':
return_data = {'auth': 'success'}
else:
return_data = {'auth': 'failed'}
return jsonify(return_data)
@app.route('/html_test')
def hello_html():
# html file은 templates 폴더에 위치해야 함
return render_template('login.html')
if __name__ == '__main__':
app.run(host="0.0.0.0", port="8080")
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
질문 주신 내용을 보니, Flask를 사용하여 로그인 인증 과정을 구현했지만, 항상 ‘auth’: ‘failed’를 리턴받고 계신 것 같습니다. 이는 서버로 전송된 쿼리 문자열에서 user_name 파라미터가 "dave"로 설정되지 않았기 때문일 수 있습니다.
주어진 코드를 통해 문제를 탐색해보겠습니다:
쿼리 문자열 확인:
http GET http://localhost:8080/login?user_name=dave명령을 보내면서,user_name이라는 쿼리 매개변수는 전달되지만,passwd와email_address는 전달되지 않고 있습니다. 따라서if username == 'dave':조건이 평가될 것이며, 이는 주어진 코드에서username이dave와 일치하지 않을 때auth: 'failed'가 반환됩니다.passwd와 email_address 파라미터 확인: 요청 URL에
pw와email_address도 추가해 보실 수 있습니다. 예:http GET http://localhost:8080/login?user_name=dave&pw=your_password&email_address=your_email초기 서버 코드 유지: 최초의 서버 코드는
username만을 체크하는 구조로 보입니다. 만약username만이 중요하다면, 위 URL의 양식을 확인해 주세요.
해결 방법과 관련하여 비슷한 설명이 포함된 답변이 여기에도 있습니다.
이 외에도 동일한 주제에 대해 도와드릴 수 있기를 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




