尝试在iControl REST API上使用远程身份validation时遇到问题。
我试图使用下面的文章configuration远程身份validationconfiguration远程用户身份validation和授权 ,并尝试使用这篇文章进行REST API调用。
下面这句话让我感到困惑:
“如果您使用的是外部身份validation提供程序,请从系统pipe理员处获取login参考。”
我不确定在哪里可以获得login参考。 当我尝试创build一个身份validation令牌没有login引用它的作品,但是当我尝试从响应使用令牌,我得到一个401响应。
我也在这个网站上find了一个“解决方法”,听起来也有点不好意思。 我不能发布一个链接,因为我没有10个声望点。
任何人都可以确认问题已修复在v12,并有任何人尝试使用远程authentication与iControl REST API? 如果是这样,你有任何关于configuration和如何使用它的提示?
我也问过f5网站上的同一个问题,但我还没有收到答复。 我也忘了提及,我可以login到设备使用Web控制台和腻子与外部帐户。
任何帮助,将不胜感激。
谢谢
URL: https://172.16.44.15/mgmt/shared/authn/login Method: POST Headers: Content-Type: application/json Payload: { "username": "remote_user_name", "password": "remote_user_password", "loginProviderName": "tmos" }
您将得到一个令牌,然后您将把它作为X-F5-AUTH-TOKEN标头中的值。
对LDAP进行身份validation令人困惑。 您必须同时传递基本身份validation标头以及tmos标记信息。
if($f5Creds -eq $null) { $f5Creds = Get-Credential } $base64EncodedAuth = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(('{0}:{1}' -f $f5Creds.UserName, $f5Creds.GetNetworkCredential().Password))) $reqHeaders = @{ "Content-Type" = "application/json" "Authorization" = "Basic {0}" -f $base64EncodedAuth } $f5Host = '<f5 hostname or IP>' $f5BaseUri = 'https://{0}/mgmt' -f $f5Host $f5AuthUri = '{0}/shared/authn/login' -f $f5BaseUri $f5AuthBody = @{ "username" = $f5Creds.UserName "password" = $f5Creds.GetNetworkCredential().Password "loginProviderName" = "tmos" } | ConvertTo-Json $f5AuthToken = Invoke-RestMethod -Uri $f5AuthUri -Method:Post -Headers $reqHeaders -Body $f5AuthBody