我有一个问题与身份验证NTLM credenitals,当我使用有效的凭据,它的作品,但当我使用无效的凭据它不会失败,它的作品一样,因为它会与有效的凭据。只有当我首先输入有效凭据时才会出现这种情况。有没有办法清除凭据,或者我在这里做错了什么?这是我的代码:
func loginUser(_ username: String, password: String, completion: @escaping (_ result: Bool) -> Void)
{
let user = username
let password = password
let url = webservice
let credential = URLCredential(user: user, password: password, persistence: .none)
let headers = ["Accept": "application/json;odata=verbose", "Content-type": "application/json;odata=verbose"]
Alamofire.request(url, method: .get, headers: headers).authenticate(usingCredential: credential).responseJSON {
(response) in
print(response.result)
switch response.result {
case .success:
if let value = response.result.value {
completion(true)
}else{
print("There is error in the server response")
completion(false)
}
case .failure (let error):
print("The NTLM request error is: ", error.localizedDescription)
completion(false)
}
}
}
我注意到一件事,如果我输入有效的文件夹,然后等待几分钟,输入无效的文件,它会像预期的那样工作。
更新
我已经更新了我的代码,这样:
func loginUser(_ username: String, password: String, completion: @escaping (_ result: Bool) -> Void)
{
let user = username
let password = password
let url = webservice
let credential = URLCredential(user: user, password: password, persistence: .none)
var urlRequest = URLRequest(url: URL(string: url)!)
urlRequest.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData
urlRequest.httpMethod = "get"
urlRequest.setValue("application/json;odata=verbose", forHTTPHeaderField: "Content-type")
urlRequest.setValue("application/json;odata=verbose", forHTTPHeaderField: "Accept")
Alamofire.request(urlRequest).authenticate(usingCredential: credential).responseJSON {
(response) in
switch response.result {
case .success:
if let value = response.result.value {
completion(true)
}else{
print("There is error in the server response")
completion(false)
}
case .failure (let error):
print("The NTLM request error is: ", error.localizedDescription)
completion(false)
}
}
}
添加缓存策略,但仍然得到相同的结果:(
不返回HTTP错误的失败。您需要查看HTTP响应中的。成功案例中的响应代码,该代码指示授权失败。
请看这里:Swift-Alamofire:如何获取HTTP响应状态代码,以便执行此操作。
或者你可能会碰到缓存。请参阅:如何在Alamofire中禁用缓存
它说要使用以下命令: 在Google Shell中,我尝试了以下操作: 我知道命令指向的是正确的文件位置。如何成功验证应用程序默认凭据?
问题内容: 我希望在允许用户更改其登录信息之前重新对其进行身份验证。但是,由于最近的Firebase更新,我发现文档没有帮助。使用此链接,我产生了以下authenticateUser()函数。 但是,我不确定如何使用FIRAuthCredential类型的凭证变量来重新认证用户。此类的文档可在此处找到。 问题答案: 获取对象取决于要用于重新认证的提供程序。 电子邮件: 脸书: 推特: 谷歌:
在下面的代码中,我尝试了两种组合 用户(请参阅附图),密码 访问ID和访问密钥 两人都犯了同样的错误。我在家庭网络的eclipse环境中运行了这段代码。 错误 代码
Facebook登录没问题,但Firebase无法获取Facebook帐户详细信息。 我已经检查了firebase网站中无效的_凭据意味着什么 一旦我构建,它就会显示: 登录了 登录失败。Error Domain=FirebaseAuthentication Code=-11“(错误代码:INVALID_凭据)提供的验证凭据无效。”UserInfo={details={“providerError
我试图与谷歌云存储使用凭证令牌进行身份验证。在node.jsGCS api文档中找不到关于如何做到这一点的示例。它们指示生成并下载包含私钥的json文件,然后链接到文件系统上的路径,如下所示: 这个很好用。 然而,我不想将我的密钥保存为JSON文件,而是创建凭据并将其保存为环境变量: 我尝试使用服务号HMAC访问密钥从桶的设置、互操作性菜单中获取此令牌。 当我尝试使用上面的身份验证方法从bucke
这是代码,我正在重复错误401:身份验证错误