You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
下载
开发软件
账户
下载
开发软件
登录
我忘记用户名和密码了
创建帐户
语言
帮助
语言
帮助
×
登录
登录名
密码
×
我忘记用户名和密码了
简体中文翻译状态
类别:
软件
用户
PersonalForge
Magazine
Wiki
搜索
OSDN
>
浏览软件
>
CUTEn
>
论坛
>
开发者论坛
>
実績システムの認証方法
CUTEn
Fork
描述
项目概述
开发人员仪表板
项目的网页
开发人员
Image Gallery
List of RSS Feeds
Activity
统计
历史
下载
List of Releases
统计
源代码
Code Repository list
Git
CUTEn
任务单
Ticket List
里程碑列表
Type List
组件列表
List of frequently used tickets/RSS
Submit New Ticket
文档
FrontPage
Title index
Recent changes
沟通
论坛
List of Forums
开发者论坛 (15)
帮助论坛 (1)
公开讨论 (14)
日記 (1)
Mailing Lists
list of ML
新闻
论坛:
开发者论坛
(Thread #32621)
Return to Thread list
RSS
実績システムの認証方法 (2012-08-05 22:49 by
eagletmt
#64956)
Create ticket
Android 側でもユーザ名+パスワードで認証しよう、という話でしたが、どうせユーザ登録をウェブページ上で行うならトークン使った認証でもいいんじゃないかと思いました。
流れとしては、
- ウェブページ上でユーザ登録
- ここでユーザに固有のアクセストークンを生成
- プロフィールページ(仮)に表示されているアクセストークンを見て、ユーザは CUTEn にそのトークンを入力する
- CUTEn は認証が必要な HTTP リクエストを送るとき、常に「auth_token=アクセストークン」というパラメータを追加する
というようなものを想定しています。
アクセストークンはランダムな20文字の英数字です (単に devise [1] がこうなっているだけで、変更は可能)。
アクセストークンはリセット可能で、リセットした場合、古いアクセストークンは無効化されます。
[1]
https://github.com/plataformatec/devise/
トークンを使った認証のメリットとしては
- CUTEn で「ログイン」のステップが不要
- なのでユーザ名・パスワードの保持/送信も不要
- ログインして Cookie のセッション ID を保持して… とかより CUTEn 側の実装が楽な気がする
あたりでしょうか。
逆にデメリットとしては
- ユーザにとって、ランダムな英数字20文字を入力するのは面倒かも
- ただしこれは、初回およびユーザが明示的にトークンをリセットしたときのみ必要
と考えています。
どうでしょうか。
RE: 実績システムの認証方法 (2012-08-07 16:41 by
kato-sh4k
#64983)
Create ticket
このトークンをCUTEn側で保持して、サーバにアクセスするときに付加するってことですよね。
CUTEn側で保持しているトークンが正しいものかの確認は、起動時に行うんですか?それともサーバアクセス時に毎回行うんですか?
回复到
#64956
RE: 実績システムの認証方法 (2012-08-15 13:47 by
eagletmt
#65085)
Create ticket
> このトークンをCUTEn側で保持して、サーバにアクセスするときに付加するってことですよね。
そうです。
> CUTEn側で保持しているトークンが正しいものかの確認は、起動時に行うんですか?それともサーバアクセス時に毎回行うんですか?
サーバアクセス時にサーバ側でトークンをチェックし、もし不正だった場合は 401 エラーを返すなどします。
入力ミス等を早い段階でユーザに知らせるために、トークン登録時に試しにトークンを使ってアクセスしてみて 401 が返らないかどうか確認する、というようなクライアント側の実装はアリだと思います。
回复到
#64983
RE: 実績システムの認証方法 (2012-08-14 02:27 by
rushia
#65072)
Create ticket
Twitterクライアントで認証するときに8桁くらいの数字で行うあれですね
20桁でも、テキストボックス内に表示ができるならばコピペもしやすいので十分ありだと思います
端末内(に限らなくても良いけれど)で、パスワードなどの手段でトークンを再表示できるようにすれば、時間差での2台目以降との連繋も容易なのかな、と思います
回复到
#64956
RE: 実績システムの認証方法 (2012-08-15 13:52 by
eagletmt
#65086)
Create ticket
> 端末内(に限らなくても良いけれど)で、パスワードなどの手段でトークンを再表示できるようにすれば、時間差での2台目以降との連繋も容易なのかな、と思います
トークンは明示的にリセットしない限り不変です。Twitter の OAuth 認証のときに使う PIN コードのようなワンタイムのものとは性質が異なります。
なので、トークンは Web ページからいつでも閲覧できるし、2台目以降も1台目と同じトークンを入力することになりますし、もしトークンをリセットした場合はすべての端末で入力し直すことになると思います。
回复到
#65072