2

認証に Basic タイプの Authorization ヘッダーを使用しています。私は、資格情報がこの形式に従う必要があると述べているHTTP基本認証仕様に従っています-> userIdentifier:base64でエンコードされたパスワード

ユーザー ID として電子メールを使用しており、電子メール形式の仕様に従って、コロン (':') 文字が許可されています。

コロン (':') もパスワードで有効な文字です。

これを知って、ユーザー ID とパスワードの区切りとしてコロン (':') を使用するヘッダーの資格情報部分を解析する独創的な方法を探しています。

この場合は簡単です -> francis@gmail.com:myPassword

ここが複雑になります -> francis@gmail.com:80:myPasswordWith:Inside

francis@gmail.com:80 は、あまり使用されていませんが、電子メール形式の仕様によると有効な電子メールです。では、どこで分割するかはどこでわかりますか?

「:」を含むメールは受け付けないことにしました。しかし、ユーザーの電子メールが無効であることをユーザーに通知したいのですが、正しい場所で文字列を分割していることを確認するにはどうすればよいでしょうか?

明確な方法で質問したことを願っています。詳細については遠慮なくお尋ねください。

ありがとうございました

4

1 に答える 1

0

電子メールが無効であることをユーザーに通知しないでください。RFC 2617 ルール (最初のコロンの後のすべてがパスワード) に従って分割し、認証を試行して失敗し、一般的な「認証失敗」メッセージを返します。

john@example.org:80パスワードsecretjohn@example.orgパスワード80:secretを同時に持っている状況は非現実的に思えます。

ユーザーに登録を要求する場合は、ユーザー名を簡単に分離して無効であることを伝えることができる他のメカニズム (フォーム?) を使用してそれを行う可能性があります。

于 2012-10-11T16:13:44.573 に答える