如何使用 Starscream 对用户进行身份验证
Posted
技术标签:
【中文标题】如何使用 Starscream 对用户进行身份验证【英文标题】:How to authenticate user using Starscream 【发布时间】:2018-12-08 06:38:36 【问题描述】:我陷入了用户身份验证;我想通过用户名和密码对用户进行身份验证。
我确实通过 websocket 成功连接,但我不知道如何验证用户身份我尝试通过谷歌进行大量研究,但由于完成的工作数量较少,我仍然无法实现我的目标。
我想通过 JSON 请求的服务器 API:
“UserName”: “UserName”, “Password”: “Password”
请求后服务器响应也是 JSON,请有人帮我实现这一点。非常感谢。
基本上我是 Swift 4 中的 WebSocket 的新手,这就是为什么我在使用 Starcream 的 cocoapods 时遇到很多问题。
提前致谢。
【问题讨论】:
有人告诉我吗?到现在都没有反应。请帮帮我。 只有当您在请求标头中使用Cookie: sesionid=11111
之类的东西对自己进行身份验证时,服务器端才能像往常一样接受 WebSocket 连接。在打开的 websocket 连接中进行身份验证很奇怪。您能否提供有关 API 的更多信息以进行身份验证。因为这里没有说应该在哪里张贴
你解决了吗?
【参考方案1】:
这是使用 Starscream 进行基本身份验证的示例:
//Prepare autorization data
let authString: String = "\(userName):\(password)"
let base64String = authString.data(using: String.Encoding.utf8)!.base64EncodedString()
// Prepare request and set headears for Basic Authorization
var request = URLRequest(url: URL(string: SERVER_URL)!)
request.setValue("Basic \(base64String)", forHTTPHeaderField: "Authorization")
//Initiate websocket
socket = WebSocket(request: request)
socket?.advancedDelegate = self
socket?.connect()
如果您得到“无效的 http 升级”结果,请确保您提供正确的用户名和密码。
【讨论】:
以上是关于如何使用 Starscream 对用户进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何使用基于令牌的身份验证对在浏览器中输入 url 的用户进行身份验证?
如何使用 OAuth 2.0 通过 Azure Active Directory 对用户进行身份验证?
我是 Flutter Web 的新手,如何使用 Firebase 电话身份验证对用户进行身份验证,有没有办法让用户保持登录状态?