gpt4 book ai didi

http - 使用包含冒号字符 ( ':') 的电子邮件解析 HTTP 基本身份验证

转载 作者:可可西里 更新时间:2023-11-01 16:44:19 24 4
gpt4 key购买 nike

我正在使用具有基本类型的授权 header 进行身份验证。我正在关注 HTTP Basic authentication specifications其中指出凭据应遵循此形式 -> userIdentifier:password encoded in base64

我们使用电子邮件作为用户标识符,并根据 email format specification , 冒号 (':') 字符是允许的。

冒号(':')也是密码中的有效字符。

知道这一点后,我正在寻找一种创造性的方法来解析使用冒号 (':') 作为用户 ID 和密码之间分隔符的 header 的凭据部分。

在这种情况下很简单 -> francis@gmail.com:myPassword

这就是它变得复杂的地方 -> francis@gmail.com:80:myPasswordWith:Inside

francis@gmail.com:80 是根据电子邮件格式规范的有效电子邮件,尽管它并不经常使用。那么我在哪里知道在哪里拆分?

我们已决定不接受包含“:”的电子邮件。但是我们想通知用户他的电子邮件无效,我们如何确保在正确的位置拆分字符串?

希望我问的很清楚,不要犹豫,询问更多细节

谢谢

最佳答案

不要通知用户该电子邮件 无效。按照 RFC 2617 规则拆分(第一个冒号后的所有内容都是密码),然后尝试进行身份验证,失败并返回通用的“身份验证失败”消息。

john@example.org:80 的密码为 secretjohn@example.org 的密码为 80 的情况: secret 同时,似乎不现实。

如果您要求您的用户注册,您可能会使用其他一些机制(表单?),您可以在其中轻松分隔用户名并告知其无效。

关于http - 使用包含冒号字符 ( ':') 的电子邮件解析 HTTP 基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12843313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com