2011-12-02 4 views
0

私は、スチームopenidを使用してユーザー管理システムを作成しようとしていますが、テーブルの外観はわかりません。私は、通常のユーザーID、ユーザー名、およびパスワードを含む基本ユーザー表を持つことに慣れています。その後、ユーザーがログインしているかどうかを確認するクッキーを使用します。私はsteamopenIDを使用してこれを行う方法について完全にはわかりません。Steamを使用したユーザーデータベースOpenID

私はログインと検証を完了しましたが、実際のデータベースを持っていることをまだ認識していません。ログインに成功すると、ユーザーSteamIDが返されます。安全なユーザーシステムを作成するためにこれで何ができますか?

スチームID自体が存在しない場合にユーザー名を登録できる新しいページにユーザーをリダイレクトすることを考えていましたが、スチームIDのみを使用していないユーザーがログインしている場合はどうすれば確認できますか?

+0

OpenIDのユーザーの名前とそれの電子メールなどのユーザー・データを要求することができます。たぶん最初のもので快適になるだろう。http://openid.net/add-openid/ – hakre

+0

Steam OpenIDは実際にopenidではないと言われていますが、それはほとんどの人が気にするものです。 – Kraffs

+0

steamidを含むユーザープロファイルテーブルにエントリを作成します。スチームIDを持つユーザーは、スチームでログインできます。若干のシーマを持つ私の答えを見てください。 – hakre

答えて

0

2つの認証プロバイダがあります.1つは自分のサイトから、もう1つは蒸気から1つです。あなたがopenid認証を受け入れる口座については、openid認証をそれらの横に保管する必要があります。だから、誰かがopenidプロバイダーを介してあなたのサイトにログインすると、これはあなたのサイトの実際のユーザーです。

あなたのセッションは、常にサイトのユーザIDに接続されている:

[login] 
     | 
[authentication] 
     | 
     \-----+--> [openid auth] ---> [steam id] --\ 
      |         | 
      \--> [site user auth] ------> [site user id] 
                | 
               [session] 
+0

で確認してください。ユーザーがログインしていることを確認するには、蒸気セッションIDがユーザーセッションに存在するかどうかを確認しますか? – Kraffs

+0

いいえ、セッションはそのセッションがどのユーザを表しているかを知っているため、ユーザがログインしているかどうかを確認してセッションを調べ、そこからユーザを取得します。次に、スチームIDがユーザーに関連付けられているかどうかをデータベースで調べることができます。 – hakre

1

他のログインシステムと本質的に同じです。

あなたはログイン用のものについて責任を負いません。しかし、はい、あなたが言うように。 IDを確認したら、自分のユーザーデータベースにそのIDが存在するかどうかをチェックし、IDがない場合はそのIDを使用して「プロファイルの作成」ログインにリダイレクトします。

+0

しかし、ユーザーがログインしているかどうかを確認するにはどうすればよいですか?もし私がクッキーにあなたのユーザーIDを格納すると、あなたはそれを簡単にスプーフィングし、別のユーザーとしてログインすることができます。 – Kraffs

+0

他のメンバーシップウェブサイトと同様に、セッションを使用してユーザーをログインさせておく必要があります。 –

+0

クライアントはセッションを編集できますか? – Kraffs

関連する問題