私は大きなウェブサイトを作成していないので、私は主にopenidのユーザーであり、さまざまな実装があります。私はここSOでopenidを使用していますが、Gmailアカウントをすべてに使用しているので気に入っています(将来はGmailを終了する予定ですが、現在はすべてに使用しています)。覚えておく必要はありません。別のログイン/アカウント。
したがって、私の素朴なユーザーの考えでは、openidの使用は簡単だと思います。プロバイダーがたくさんある場合、ユーザーがログインしようとすると、アプリはプロバイダーに「この人はログインできますか?」と尋ねます。プロバイダーは戻ります。 「このユーザーは有効です」一部のデータ(一部のユーザーは他のユーザーよりも多くのデータを返す場合があります)、またはログインに失敗した場合などに何も返さない場合があります。
私は将来のウェブサイトでopenidを使用することを計画していました。私の考えでは、これを「抽象化」できる何らかのlibを使用していると思います。ユーザーはプロバイダーにログインし、アプリはそれぞれを認識せず、このlibはユーザー名から一意の識別子を返します。プロバイダー。例:myemail@gmail.comはログインに使用されます。libに一意のIDがあり、ハッシュ計算などの後に返されます。アプリはこれをすべてに使用します。
私のアプリケーションでは、openid libmによって作成されたこのIDのみを処理しようとしますが、Facebook、Twitter、Gmailなどを処理します。たぶん、このlibにはプロバイダー名のテーブルがあり、ユーザーが最初にサイトにログインしたときに、データベースに「この一意のIDはTwitterからのものです」という行があります。理論的には、これは私の頭の中でうまくいくようです。
...しかし、Openidは悪夢ですを読んだ後、私は、完璧に機能するようなlibを見つけようとしても、本当に良いアイデアかどうかを考え始めています。
すべての人(openidプロバイダー)が独自のログインメカニズムを持っているので、1つのシステムだけを心配するのではなく(私自身、私は自分のログインメカニズムを作成することになりました)-今は数十のシステムを心配する必要があります-そしてopenidは対処することになっていますまさにその通りです。今、私はこの混乱全体を抽象化するために私が想像している巨大なライブラリが必要です。
私が説明したようなライブラリは存在しますか?もしそうなら、少なくとも本当に「オープンな」夢のように振る舞うことを試みるアプリケーションを作成することは可能ですか?
(openidはfacebook authなどと同じではないことを知っています...しかしエンドユーザーの観点からは、「Webサイト間で同じログインを使用する」という同じIMHOです。プロトコルがなかったとしてもログインプロセスを抽象化したいです。多くのサービスでは、誰かが彼女が主張している人物であるかどうかを知る必要があります。)