2 q996811572 q996811572 于 2016.02.20 17:25 提问

java maill邮箱登录问题

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

2个回答

devmiao
devmiao   Ds   Rxr 2016.02.20 23:43

可以把密码存入数据库,在你登录的时候直接调用,不输入

q996811572
q996811572   2016.02.23 11:12

java mail是通过ssl进行登录的啊,imap/smtp 服务必须开启状态才可以登录的,如果我关掉了,岂不是登录不上去了吗,
如果我用QQ授权第三方应用 拿到 QQ登录授权后的 open id,通过这个openid,能实现一键登录邮箱吗。

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;
}
    帮我看下,可以吗,大神/all 
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!