【问题标题】:AAD password reset error pertaining str object item与 str 对象项有关的 AAD 密码重置错误
【发布时间】:2020-05-08 11:53:00
【问题描述】:

我的 Azure AD 密码重置代码存在一些问题,无法修复,我需要一些有关文字和字符串的帮助。

myVar = ad.getAuthToken('18f96976-a-d-d7f1-wontwork-3c0c86a2','donttry-d-dOYqojM[O03vaRaEr/S.=')
print(myVar)

url = 'https://graph.microsoft.com/v1.0/users/'+  str(u_portal_id) + '@someaccount.net'


payload = '{ "passwordProfile" : {"forceChangePasswordNextSignIn": "False","password": "' + 
newPassword +'"}}'

headers = '{"content-type": "application/json", "authorization":"' + myVar +'"}'

print(payload)
print(headers)
print(url)
response = requests.request("PATCH", url, data=json.dumps(payload), headers=headers)

当我打印有效载荷、标头和 url 的值时,我得到以下信息:-

PAYLOAD = { "passwordProfile" : {"forceChangePasswordNextSignIn": "False","password": "MZSbvxe$6136"}}

头= { “内容类型”: “应用/ JSON”, “授权”:“承载eyJ0eXAiOiJKV1QiLCJub25jZSI6ImxFY19DTU1FWnRjZWJpbF9oTExQbDNJVDZockNGMjdnSmJRU3FrSUdSdUEiLCJhbGciOiJSUzI1NiIsIng1dCI6InBpVmxsb1FEU01LeGgxbTJ5Z3FHU1ZkZ0ZwQSIsImtpZCI6InBpVmxsb1FEU01LeGgxbTJ5Z3FHU1ZkZ0ZwQSJ9.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC8zM2YxZWFmMC00MGI2LTRmNWItYmFmMC0wNGRlZTljMzM5YTgvIiwiaWF0IjoxNTc5Njg3ODY5LCJuYmYiOjE1Nzk2ODc4NjksImV4cCI6MTU3OTY5MTc2OSwiYWlvIjoiNDJOZ1lKaWwxbWx0Zmtuc3dNNkwzTjkvL2ovZkFBQT0iLCJhcHBfZGlzcGxheW5hbWUiOiJJbnR1bmVNU0JPVCIsImFwcGlkIjoiMThmOTY5NzYtYWRjZS00N2YxLWFmODYtM2NlYzg5MGM4NmEyIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvMzNmMWVhZjAtNDBiNi00ZjViLWJhZjAtMDRkZWU5YzMzOWE4LyIsIm9pZCI6IjEwYmYxNTk1LTA5MzgtNDNkNi05MzU3LTIxYTJjOGNlMWQxMCIsInJvbGVzIjpbIkRldmljZU1hbmFnZW1lbnRTZXJ2aWNlQ29uZmlnLlJlYWRXcml0ZS5BbGwiLCJEZXZpY2VNYW5hZ2VtZW50TWFuYWdlZERldmljZXMuUmVhZFdyaXRlLkFsbCIsIkRldmljZU1hbmFnZW1lbnRDb25maWd1cmF0aW9uLl JlYWRXcml0ZS5BbGwiLCJEZXZpY2VNYW5hZ2VtZW50QXBwcy5SZWFkV3JpdGUuQWxsIiwiRGV2aWNlTWFuYWdlbWVudFJCQUMuUmVhZFdyaXRlLkFsbCJdLCJzdWIiOiIxMGJmMTU5NS0wOTM4LTQzZDYtOTM1Ny0yMWEyYzhjZTFkMTAiLCJ0aWQiOiIzM2YxZWFmMC00MGI2LTRmNWItYmFmMC0wNGRlZTljMzM5YTgiLCJ1dGkiOiIycXdKOHp6bDcwMmRfYndGYkZVVEFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjE1MzYxNTIxNDZ9.e0f4OYAWIwvHit2XT_8fneGVzIbwGORKabgCUFf2nBkfBBFys2S0Xibpx3r47wPARXt5qZyRrAAWu18mpfRnxY1DdXvtdDiZmHRY9ZJfmRB_2HOLfJKTyJUjYUkMESlozQzVDBj9-dontryitwontwork-dNUgOALUyXk - DiZsm8WTN9exnbGoQnfz5TyWWnTm3H9udyLEIkUMfG8NjBO190b7ZNARnLcT2EHremOL2M8OFcLIGAUJoVyukVxa_rEN37b_hqb7l_tx7sVcuf1zM1D7s66L6Nre1Db7OZZdUDdvOWD4vJzauEe9niFFfrefRet8EwvJQ“} P>

网址 = https://graph.microsoft.com/v1.0/users/124708@someaccount.net

我已经通过 JSON Parser 验证它是正确的。邮递员也不会抛出任何错误。 请协助。

我得到的错误如下:-

'str'对象没有属性'items'

【问题讨论】:

  • 你传入一个字符串; headers 永远不能是 JSON 编码的字符串,它始终是 Python 字典。见stackoverflow.com/questions/18867898/…
  • 谢谢@AllenWu!我后来想通了。
  • 看来你的问题已经解决了。我整理了解决方案。如果有帮助,请接受它作为答案。谢谢。

标签: python-3.x azure-active-directory


【解决方案1】:

你传入一个字符串; headers 永远不能是 JSON 编码的字符串,它始终是 Python 字典。

仔细检查您的代码并更正它。

【讨论】:

    【解决方案2】:

    我是这样解决的

        payload = {
            "passwordProfile" : {
                "forceChangePasswordNextSignIn": False,
                "password": newPassword
            }
        }
    
        headers = {"content-type": "application/json", "authorization": myVar }
        response = requests.request("PATCH", url, data=json.dumps(payload), headers=headers)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 2014-09-15
      • 2016-07-11
      • 2017-08-02
      相关资源
      最近更新 更多