@Override
    protected OAuth2AccessToken createToken(String accessToken, String tokenType, Integer expiresIn, String refreshToken, String scope,
                                            JsonNode response, String rawResponse) {
        var token = super.createToken(accessToken, tokenType, expiresIn, refreshToken,
            scope, response, rawResponse);
        var uid = extractRequiredParameter(response, "uid", rawResponse).asText();
        if (uid == null || Pac4jConstants.EMPTY_STRING.equals(uid)) {
            throw new OAuthException(
                "There is no required UID in the response of the AssessToken endpoint.");
        }
        return new WeiboToken(token, uid);
    }
@Test
    public void createTokenHasUid() throws IOException {
        var accessToken = extractor.createToken("ACCESS_TOKEN", null,
            123, null, null, mapper.readTree(responseOk), responseOk);
        Assert.assertEquals("ACCESS_TOKEN", accessToken.getAccessToken());
        assertTrue(accessToken instanceof WeiboToken);
        if (accessToken instanceof WeiboToken) {
            Assert.assertEquals("12341234", ((WeiboToken) accessToken).getUid());
        }
    }