浏览 OASIS XACML V3 规范,我没有找到任何对实现“字符串不等于”操作的逻辑函数 [此处] 的引用。缺少的功能是:
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-not-equal">
Run Code Online (Sandbox Code Playgroud)
问题:是否有省略此功能的原因,或者是否有通过代码修改的良好实践,允许规则分析人员绕过这种情况?
使用以下 Python 代码测试 Oauth2 的 oauth2/userprofile 查询:
verify='/home/claudef/tmp/oauth2/oauth/wso2.pem'
url = "https://extbasicpacman05.podc.sl.edst.red.com:9443/oauth2/userinfo?schema=openid"
headers = { 'Authorization' : "Bearer " + access_token }
r = requests.get(url, headers=headers, verify=verify)
Run Code Online (Sandbox Code Playgroud)
我从 WSO2 身份服务器收到以下错误消息:
error":"insufficient_scope","error_description":"Access token does not have the openid scope"
Run Code Online (Sandbox Code Playgroud)
检查从不记名令牌发射返回的数据,我看到默认值scope=profile,它与userinfo查询中的默认值不匹配,可能使用值scope=openid。
u'token_type': u'bearer', u'scope': u'profile', u'access_token': u'7ae4542fe322d3aba67bf0625039d5f6', u'expires_in': 73, u'refresh_token': u'92d915a25d8bef6ca7ec7b70664c5cbf'}
Run Code Online (Sandbox Code Playgroud)
使用 cURL 命令时也会出现相同的错误。
请给我一些指导,如何解决此问题以从 WSO2 服务器读取用户信息数据。