ユーザーの認証

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 をご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python の App Engine スタンダード環境