更改WSO2中用户名的正则表达式限制为5.9.0后,令牌内省API不工作?

更改WSO2中用户名的正则表达式限制为5.9.0后,令牌内省API不工作?,wso2,wso2is,wso2carbon,Wso2,Wso2is,Wso2carbon,我正在使用WSO2 Identity server,并使用以下文档中的电子邮件作为用户名- 然后,在执行注册ie时,我发现以下错误:使用SCIM2API创建用户,电子邮件超过30个字符- { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:Error" ], "scimType": "invalidValue", "detail": "31301 - Username test1233.ad

我正在使用WSO2 Identity server,并使用以下文档中的电子邮件作为用户名-

然后,在执行注册ie时,我发现以下错误:使用SCIM2API创建用户,电子邮件超过30个字符-

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:Error"
    ],
    "scimType": "invalidValue",
    "detail": "31301 - Username test1233.admin@motioneducation.com is not valid. User name must be a non null string with following format, ^[\\S]{3,30}$",
    "status": "400"
}
然后为了解决这个问题,我在user store的deployment.toml文件中添加了这个正则表达式-

[user_store]
username_java_script_regex = '^[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$'
username_java_regex='^[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}'
此更改修复了我的注册问题,但是通过使用wso2/oauth2/token API执行登录生成的令牌在/oauth2/introspect API中给出了401个未经授权的消息


请帮助……。?

既然您已启用电子邮件作为用户名,那么您还需要在授权标题中使用电子邮件用户名。下面给出了一个示例curl命令

curl-location-request-POST 'https://{host_name}:{port}/oauth2/introspect' -标题“内容类型:应用程序/x-www-form-urlencoded” -标题“授权:基本{base64encodeemailusername:password}” -数据urlencode'token={access_token}'

样品请求

curl-location-request-POST -标题“内容类型:应用程序/x-www-form-urlencoded” -标题“授权:基本YWRtaW5Ad3NvMi5jb206YWRtaW4=” -数据urlencode“令牌=47f65812-c5fb-3f90-b5c0-3bbc3603578f”


401仅当您发送的凭据无效时,才会出现未经授权的错误。因此,请检查您是否在授权标题中发送了有效的emailusername和有效密码

我遇到了一个类似的问题,我可以向db注册新用户。它被保存在我的碳数据库中。我可以使用以前创建的超级管理员用户登录,但不能使用新用户登录。传递的请求头和参数类似,唯一的更改是用户名和密码字段。我已经在stackoverflow中发布了查询。如果可以,请检查我的问题: