数か月前に Google App Engine から移行しました。しかし、ユーザーは GAE の user_id 属性によって識別されるため、認証にはまだ依存しています。
この目的のために、私の(現在は外部の)アプリケーションは、暗号化され、署名され、タイムスタンプが付けられたログイン リクエストを使用して、ユーザーを Google App Engine アプリケーションにリダイレクトします。次に、GAE アプリケーションは、GAE の「ユーザー」サービスを使用してログインを実行します。GAE に正常にログインした後、ユーザーは外部アプリケーションへの暗号化され、署名され、タイムスタンプが付けられた応答を使用して再度リダイレクトされます。基本的な実装は、こことここにあります。ご覧のとおり、これは非常に基本的なものであり、パフォーマンスの低下につながる大量の暗号化に依存しています。
私の外部アプリケーション (この場合は Django アプリケーション) は、user_id を user テーブルの password フィールドに格納しています。user_id 以外に、GAE からメール アドレスのみを取得して、ユーザー名とメールを Django に保存します。
ここで、GAE サービスへの依存を取り除きたいと思います。頭に浮かぶ最初のアプローチは、おそらく各ユーザーに電子メールを送信して、新しいパスワードを設定するように要求し、Django を使用して独自の認証を実行することです。
ユーザーにとって実際に違いがないように、Google の OpenID サービスに依存するソリューションを希望します。Google カレンダー API の AuthSub トークンを取得するには、とにかくユーザーを Google に送信する必要があるため、これも推奨されます。
問題は、GAE を使用せずに特定の Google アカウントの GAE user_id 属性を取得する方法が見つからなかったことです。OpenID と他のすべての認証プロトコルは、異なる識別子を使用します。
ここで問題となるのは、Google は、この目的に使用できる API をまだ提供していないかどうかです。ユーザー アカウントを移行する方法について、他に考えられる解決策やアイデアはありますか?
前もって感謝します!