元スレ【PHP】2chat開発スレ【2chを越える】
php覧 / PC版 /みんなの評価 :
551 = :
メモ
http://qiita.com/uasi/items/cfb60588daa18c2ec6f5
553 = :
いや、別にOAuth2とか使わないんでしょ?
で、独自認証なんでしょ??そんだったら、
Authorizationヘッダのフォーマットを自由に決めていいんだって
(HTTPのAuthorizaitionヘッダの形式に違反しないかぎり)。
例えば、Authorization : nch {token}
とか
554 = :
>>551見ると、Authorization ヘッダについて調べたのセクションに
Authorization: auth-scheme (token68 / auth-params)
ってなってんじゃん。この形式にしたがってフォーマット決めておけばOK。
例えばauth-schemeは「nch」ね(IANAにもちろん登録されてないスキームだけど)。
後はtoken68の形式か。
555 = :
なるほど。スキームは自由でいいのか
Authorization : nch (token_id) (token_key)みたいな感じで
556 = :
それか>>551に
Chatwork API は X-ChatWorkToken: トークン ヘッダ
ってなってるように、独自のリクエストヘッダを定義するとか。
X-NChTokenみたいな。
558 = :
auth-scheme [ 1*SP ( token68 / #auth-param ) ]
厳密にはこうだから、パラメータ2つ渡したいなら
Authorization : nch id=(token_id), key=(token_key)
こんな感じかな。確か,区切りでいいはず。
559 = :
それってどこに空白入れてもいいんだよね?
=の前後とか
解析難しそう
560 = :
で、認証が必要なAPIに認証せずにリクエストしたら、
ステータスコード401のUnauthorizedでレスポンス返す。
で、レスポンスのヘッダにWWW-Authenticate : nch
って指定して、nchスキームでの認証が必要ですよって示すのが普通。
561 = :
RFC 7235には
auth-param = token BWS "=" BWS ( token / quoted-string )
BWS=Bad White Spaceで仕様上は許可してるけど、推奨しないホワイトスペースだね。
562 = :
解析自体は難しくない。quoted-stringのを使わなければ。
まず、ヘッダ全体をスペースでSplitする(.NETならString.Split)で、
先頭がauth-scheme。で、今度は残り全体をまず「,」でSplitする。
でそれを今度は「=」でSplitして、終わり。
適宜前後のホワイトスペースをTrimする。
564 = :
>items[2].Split(',').Select(i => i.Trim());
は
items[1].Split(',').Select(i => i.Trim());
こうだった。
だから、君の仕様でquoted-stringを使わないように認証トークン生成して
仕様で決めてくれれば解析は楽。
567 = :
名前被りがなければ自由にヘッダって作っていいんだよね
それならそうしようかな
568 = :
>>563
そうだね。仕様でそうなってるからだね。
俺だったら仕様違反はしないけど、もし、(id),(key)にしたいなら、
独自ヘッダにするね。
569 = :
>>567
うん。独自ヘッダは最初にX-ZZZZみたいなX-を先頭につける慣習??みたいの
あるっぽいことだけ指摘しておく。
570 = :
>>569
なら"X-Token:(id),(token)"にする
571 = :
プッシュしました
572 = :
了解。idとtokenに使う文字は注意してね。なんで使えるわけじゃないから。
仕様で確認してね。
573 = :
>>572
idは数字のみ、tokenはbase64から=を除いたものだから多分大丈夫
574 = :
なんだかんだでちゃんと進んでて偉いわ
575 = :
エラー関係はCSVで外出しした方が管理楽かも
577 = :
いやいや、偉くないだろ。ユーザーにとっては、完成させれるか完成させれないかの
どっちかしない。開発者にとっては、完成させれなくても勉強になるけど。
だから、進んでても最終的に完成するかしないかが問題。
578 = :
というか、このサーブレットはローカル環境で動いてるの???
579 = :
>>578
まだ実際に動かしてはいない
web.xmlとか作ってないからテスト出来ないし
580 = :
HTTPステータスコードってこんな感じ?
200 成功
401 認証が必要/認証エラー
403 リクエストの送りすぎ(書き込み間隔が短い)
404 見つからない(スレなど)
409 既に存在する(スクリーンネームなど)
421 リクエストがおかしい(パラメータが足りない、数値に変換出来ない、文字列が正規表現に一致しない、長すぎる)
500 鯖内部でエラー
581 = :
例えば、トピックIDを指定して取得するAPIで見つからなかったらエラーを返しているけど、
トピック検索APIで見つからなかったら成功+空の配列を返している
つまり単取得系と多取得系の違い
これってどっちもエラー返すべきだろうか…
582 = :
ワロタ。やっぱ動かしてないかww
昨日も書いたけど、すごい水平展開に開発していくな。
http://tools.ietf.org/html/rfc7231
には421のってないな。
まぁ、そんな感じでいいんじゃないかな。
細かいところはAPIによってもマチマチだし。
583 = :
>>581
それでいいと思う。検索の方はエラーじゃなくていいと思う。
585 = :
とりあえずエラーコードは連番でしてみる
586 = :
500エラーはエラーコード-1だけでいいか
詳細教えたら危険だろうし
587 = :
というか、マジで動かす方を優先した方がいい。
でないと、また、大幅な手戻り発生しそう。
クラスの依存関係で無理って言ったけど、そんなの当たり前。
だから、そこらへんは適当に動くようにつくればいいだけ。後で修正すればいいんだから。
>>544の人もアドバイスしてくれてるのに。
588 = :
とりあえず動かした方がいいのか
なら適当にAPI作って動かしてみる
589 = :
俺もPHPの勉強し始めてるっていって、この前ASP.NET Coreをやりだしてるっていったけど、
君みたいなやり方してないぞww
初めての作業で全体像見えないまま、クラス設計なんてしようがないし。
だから、とりあえず、1,2つだけモデルクラスを作って、それで次はすぐにWeb APIの方作って、
実際にブラウザからアクセスさせてる。
それで、作り方に問題なさそうって確認してから、おおざっぱに全体の設計を
把握してから残りモデルクラスの作業に取り掛かってる。
590 = :
PHPerだけどサーバサイド5日くらいで終わりそうじゃね?
ぼくのかんがえたさいこうの設計目指さなければ
592 = :
まぁ、元々機能少ないからそんぐらいだろうね。データベースのテーブルも
5,6ぐらいしかないし。
593 = :
ただ、俺はPHPで開発環境が悪いのか、コード補完とかあんま効かなくて、
タイプミスとかでエラー、メソッド名もまだ覚えてないから補完したいのにで
出なくていちいちブラウザで調べたりしてブチキレで。ASP.NET Coreの方に移行中だけど。
594 = :
5日ってそんな物なのか?
もしかしてここって職業プログラマ多い?
596 = :
sageつけ忘れた。
597 = :
これで小機能って凄い
俺の中では今まで作ったWEBアプリで一番大きいのに…
598 = :
とりあえずコンパイル通ったのでweb.xml作っていきます
599 = :
業務とかに比べると全然ちいさいよ。
業務だとテーブルだけでも何十、何百って数あるんだから。
で、それらのテーブルを複数結合したり、バッチで何十のテーブルを見て更新かけたり。
だからテーブル数5,6って学生の宿題用(テーブル数2,3?)に毛が生えたぐらいの規模だと。
2chだってもともと小機能なんだし。ただ、小機能とはいえユーザー数は
圧倒的だから。そこらへんはまた単純に作るだけじゃなく別のノウハウが必要だと思う。
600 = :
>>599
テーブルが何百って…そんなにあるのか
2chは単純だからな。ユーザーが多い以外に良い所がない気もするけど、掲示板だとユーザーの数が最大のメリットになるし
専門学校とか大学の工業科ってこういうの作ったりするの?こういう系の仕事するなら工業科進んだ方がいいかな
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】 Smarty 隔離スレ 【テンプレート】 (1001) - [46%] - 2010/3/28 11:16 ○
- 【PHP】Laravel【フレームワーク】 (887) - [44%] - 2019/4/23 21:00
- 【PHP】Ethna part.2【国産フレームワーク】 (315) - [36%] - 2019/5/9 7:45 ○
- 【PHP】PHPフレームワーク総合スレ14 (1001) - [36%] - 2010/12/11 10:32
- 【PHP】PHPフレームワーク総合スレ15 (989) - [36%] - 2013/9/27 6:00 △
トップメニューへ / →のくす牧場書庫について