hagino3000's blog

平成アーカイブス (更新停止)

Google app engineのFederated Login

GAEのUser APIの認証オプションに Federated Loginってのが増えた。実態はOpenIDなので、Google Appsのアカウントの認証に使ってみたのでメモ。

ログインURLの生成

url = create_login_url(federated_identity=<DOMAIN>)


ドキュメントも更新されてる*1

設定を元に戻せる

以前からあった、Authentication Optionの「Google Apps」は、一度それに設定すると対象ドメインも含め二度と設定変更できない物だったが、「Federated Login」は元に戻す(Googleアカウント認証に戻す)事ができる。Google Appsのアカウントを認証に使いたい場合、Federated Loginにしておいた方が、複数のドメインにも対応できるので良さげ。

アプリケーション管理者判定の使い勝手が良くなった

アプリケーションのログインにUser APIを使っていなかったとしても、app engineのアプリケーションの管理者判定だけは使いたいかもしれない。User APIで扱えるアカウントが増えたのでis_current_user_adminとapp.yamlの login : admin 指定の使い勝手が良くなった。Appsのアカウントを使って開発している場合に便利。

OpenID の属性交換はできない

User APIから取得できるのはメールアドレスだけ。User API の User.nickname()で取得できる値は http:///openid?id=xxxxxxxxxxx みたいになる。

その他メモ

Mail APIのメールアドレスチェック関数が破滅してて使い物にならない

1年以上前にISSUEが登録されてるけど、対応されていない……。スターが10個しが付いていない辺りを見ると、そんなに困っている人はいないのかな。

よく忘れるURL達
AppsのアカウントでGoogle App Engineにログイン
https://appengine.google.com/a//
Appsのログイン
https://www.google.com/a//ServiceLogin
Appsのアカウント管理(OpenID, oAuthのアクセス許可の取り消しはこちら)
https://www.google.com/a//ManageAccount
Appsの管理者コンソール
https://www.google.com/a/cpanel//Dashboard

*1:今の所英語ドキュメントのみ