WSO2-检查访问令牌是否仍然有效

WSO2-检查访问令牌是否仍然有效,wso2,wso2-am,Wso2,Wso2 Am,我正在按照WSO2文档使用密码授予类型实现OAuth 2令牌流 我现在正在处理的web应用程序中的用户登录,并将检索到的访问令牌存储在本地存储中 如果我想检查令牌是否仍然有效(比如用户刷新浏览器),是否可以请求检查访问令牌是否仍然有效且尚未过期?我假设它是某种形式的对令牌端点URL的POST请求 感谢要验证令牌,您可以使用一个管理服务。这是一个SOAP服务,可以使用在管理服务中调用“验证”方法来验证令牌 验证端点 验证方法将以有效期回复您。此服务是一个管理服务,您可以通过基本身份验证和其他身份

我正在按照WSO2文档使用密码授予类型实现OAuth 2令牌流

我现在正在处理的web应用程序中的用户登录,并将检索到的访问令牌存储在本地存储中

如果我想检查令牌是否仍然有效(比如用户刷新浏览器),是否可以请求检查访问令牌是否仍然有效且尚未过期?我假设它是某种形式的对令牌端点URL的POST请求


感谢

要验证令牌,您可以使用一个管理服务。这是一个SOAP服务,可以使用在管理服务中调用“验证”方法来验证令牌

验证端点

验证方法将以有效期回复您。此服务是一个管理服务,您可以通过基本身份验证和其他身份验证机制(如相互身份验证)调用它

我认为另一种方法是为新令牌调用令牌端点。AFAIR如果存在有效的令牌,它将返回该令牌以及您可以计算有效期的到期时间


另一种方法是,如果可能,您可以存储令牌请求的时间,并使用单独的计时器检查有效期是否过期。在第一次生成令牌请求时,它是具有有效期的返回令牌。

如harsha89所述,您可以使用OAuth2TokenValidationService进行验证。示例SOAP请求如下所示

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd" xmlns:xsd1="http://dto.oauth2.identity.carbon.wso2.org/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:validate>
         <xsd:validationReqDTO>
            <xsd1:accessToken>
               <xsd1:identifier>b443652fdc3642bb1b3ba8ebae99068</xsd1:identifier><!--access token received-->
               <xsd1:tokenType>bearer</xsd1:tokenType>
            </xsd1:accessToken>
            <xsd1:context>
               <xsd1:key></xsd1:key>
               <xsd1:value></xsd1:value>
            </xsd1:context>
         </xsd:validationReqDTO>
      </xsd:validate>
   </soapenv:Body>
</soapenv:Envelope>

b443652fdc3642bb1b3ba8ebae99068
持票人
样本响应

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns:validateResponse xmlns:ns="http://org.apache.axis2/xsd">
         <ns:return xsi:type="ax2369:OAuth2TokenValidationResponseDTO" xmlns:ax2369="http://dto.oauth2.identity.carbon.wso2.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <ax2369:authorizationContextToken xsi:type="ax2369:OAuth2TokenValidationResponseDTO_AuthorizationContextToken">
               <ax2369:tokenString>eyJhbGciOiJSUzI1NiIsIng1dCI6Ik5tSm1PR1V4TXpabFlqTTJaRFJoTlRabFlUQTFZemRoWlRSaU9XRTBOV0kyTTJKbU9UYzFaQSJ9.eyJodHRwOlwvXC93c28yLm9yZ1wvZ2F0ZXdheVwvYXBwbGljYXRpb25uYW1lIjoiRGVmYXVsdEFwcGxpY2F0aW9uIiwiZXhwIjoxNDQ2Nzg1NjczLCJzdWIiOiJhZG1pbjJAY2FyYm9uLnN1cGVyIiwiaHR0cDpcL1wvd3NvMi5vcmdcL2dhdGV3YXlcL3N1YnNjcmliZXIiOiJhZG1pbiIsImlzcyI6Imh0dHA6XC9cL3dzbzIub3JnXC9nYXRld2F5IiwiaHR0cDpcL1wvd3NvMi5vcmdcL2dhdGV3YXlcL2VuZHVzZXIiOiJhZG1pbjJAY2FyYm9uLnN1cGVyIiwiaHR0cDpcL1wvd3NvMi5vcmdcL2NsYWltc1wvcm9sZSI6WyJJbnRlcm5hbFwvZXZlcnlvbmUiXSwiaWF0IjoxNDQ2NzgzMjExfQ.VY2J_stNVvCwdGdOn71yw96z0EnbtRabQBt8fDFO5LM4TyNmF56T4uXLGjPW-BaHFKEa21ao0s8zW3UVp3yh2Va5pJhJdEcNeSMHObVvDJBdrDbOqrFZnVG7hxV4n4yIJfWt3jciRQz-SdqVYKJuRF-Tn8qfX30m1s0cMeqEZ2A</ax2369:tokenString>
               <ax2369:tokenType>JWT</ax2369:tokenType>
            </ax2369:authorizationContextToken>
            <ax2369:authorizedUser>admin2@carbon.super</ax2369:authorizedUser>
            <ax2369:errorMsg xsi:nil="true"/>
            <ax2369:expiryTime>1737</ax2369:expiryTime>
            <ax2369:scope/>
            <ax2369:valid>true</ax2369:valid>
         </ns:return>
      </ns:validateResponse>
   </soapenv:Body>
</soapenv:Envelope>

我国目前的研究成果是一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于一份关于3月6日,一家报纸在一家报纸上发布了一份关于一家报纸的报纸,一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一家报纸一IRQZ-SdqVYKJuRF-Tn8qfX30m1s0cMeqEZ2A
JWT
admin2@carbon.super
1737
真的

Hmm好的,没有终点URL我可以直接请求吗?我没有在我的应用程序中使用web服务嗯,好的,没有端点URL我可以对其发出请求吗?我的应用程序中没有使用web服务。您是使用APIM作为密钥管理器本身,还是使用WSO2 IS或其他身份服务器作为密钥管理器?我相信我们使用APIM作为密钥管理器,因为我们在那里也使用身份服务器,就像我使用在那里创建的用户帐户来与您进行令牌请求一样。这就是你的意思吗?对不起,我对wso2有点生疏,我的意思是你们有没有将wso2配置为wso2 apim的密钥管理器。或者你们使用APIM本身作为密钥管理器吗?我已经检查过了,我们使用API管理器本身作为密钥管理器