开发者社区 问答 正文

java maill邮箱登录问题

java mail 在登录邮箱的时候能绕过独立密码(授权码)吗,每次输入非常麻烦。

展开
收起
蛮大人123 2016-06-01 14:22:52 2809 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
    public OAuthToken queryOAthToken(String token) {
    Preconditions.checkNotNull(token);
    OAuthToken oAthToken = null;
    
        ImmutableMap<String, String> keys = ImmutableMap.of(OAuthFieldConsts.ACCESS_TOKEN, token);
        String tokenUrl = CommonConfigs.OATH_CONFIG_MAP.get(OAuthConsts.QQ_TOKEN_INFO_URL);
        String data = HttpClientUtil.get(tokenUrl, keys, null);
    
        if (!Strings.isNullOrEmpty(data) && data.startsWith(OAuthFieldConsts.CALLBACK)) {
            data = data.substring(data.indexOf(OAuthConsts.LEFT_BRACKET) + 1, data.lastIndexOf(OAuthConsts.RIGHT_BRACKET));
            JSONObject jsonObject = JSONObject.parseObject(data);
            String error = jsonObject.getString(OAuthFieldConsts.ERROR);
            if (!Strings.isNullOrEmpty(error)) {
                String errorDesc = jsonObject.getString(OAuthFieldConsts.ERROR_DESCRIPTION);
                LOGGER.error(OAuthConsts.URL_IS_ERROR_CODE_DESC, tokenUrl, error, errorDesc);
                return null;
            }
            String uid = jsonObject.getString(OAuthFieldConsts.OPENID);
            String appId = jsonObject.getString(OAuthFieldConsts.CLIENT_ID);
            long createTime = System.currentTimeMillis();
            long expireTime = createTime + OAuthConsts.TOKEN_EXPIRE_THREE_MONTH;
    
            oAthToken = new OAuthToken(token, uid, appId, createTime, expireTime);
        }
        return oAthToken;
    }
    2019-07-17 19:23:16
    赞同 展开评论
问答标签:
问答地址: