사용자 인증


Python 방명록 코드 둘러보기의 이 부분에서는 사용자를 인증하고 로그인한 사용자를 위한 맞춤설정 인사말을 표시하는 방법을 보여줍니다.

이 페이지는 여러 페이지로 구성된 가이드의 일부입니다. 처음부터 시작하고 설정 안내를 확인하려면 방명록 만들기로 이동하세요.

사용자 로그인

MainPage 클래스는 루트 경로 '/'에 대한 HTTP GET 요청의 핸들러를 정의합니다. 이 핸들러는 사용자의 로그인 여부를 확인합니다.

class MainPage(webapp2.RequestHandler):

    def get(self):
        guestbook_name = self.request.get('guestbook_name',
                                          DEFAULT_GUESTBOOK_NAME)
        greetings_query = Greeting.query(
            ancestor=guestbook_key(guestbook_name)).order(-Greeting.date)
        greetings = greetings_query.fetch(10)

        user = users.get_current_user()
        if user:
            url = users.create_logout_url(self.request.uri)
            url_linktext = 'Logout'
        else:
            url = users.create_login_url(self.request.uri)
            url_linktext = 'Login'

        template_values = {
            'user': user,
            'greetings': greetings,
            'guestbook_name': urllib.quote_plus(guestbook_name),
            'url': url,
            'url_linktext': url_linktext,
        }

        template = JINJA_ENVIRONMENT.get_template('index.html')
        self.response.write(template.render(template_values))

사용자가 이미 애플리케이션에 로그인했으면 get_current_user() 메서드는 User 객체를 반환하고 앱은 사용자닉네임을 표시합니다. 사용자가 로그인되어 있지 않으면 코드는 사용자의 브라우저를 Google 계정 로그인 화면으로 리디렉션합니다. 사용자가 로그인하면 Google 계정 로그인 메커니즘이 사용자를 앱으로 다시 보냅니다.

자세한 내용은 Users API를 참조하세요.