java response cookie_Java ResponseBuilder.cookie方法代码示例

import javax.ws.rs.core.Response.ResponseBuilder; //导入方法依赖的package包/类

@SuppressWarnings("unchecked")

private Response responseAuthSuccess(final IAccessToken accessToken,

final IRefreshToken refreshToken) {

JSONObject resp = new JSONObject();

resp.put(OAuth2Helper.Key.ACCESS_TOKEN, accessToken.toTokenString());

resp.put(OAuth2Helper.Key.EXPIRES_IN, accessToken.expiresIn());

if (refreshToken != null) {

resp.put(OAuth2Helper.Key.REFRESH_TOKEN,

refreshToken.toTokenString());

resp.put(OAuth2Helper.Key.REFRESH_TOKEN_EXPIRES_IN,

refreshToken.refreshExpiresIn());

}

resp.put(OAuth2Helper.Key.TOKEN_TYPE, OAuth2Helper.Scheme.BEARER);

ResponseBuilder rb = Response.ok()

.type(MediaType.APPLICATION_JSON_TYPE);

if (accessToken.getTarget() != null) {

resp.put(OAuth2Helper.Key.TARGET, accessToken.getTarget());

rb.header(HttpHeaders.LOCATION, accessToken.getTarget() + "__token");

}

if (issueCookie) {

String tokenString = accessToken.toTokenString();

// p_cookie_peerとして、ランダムなUUIDを設定する

String pCookiePeer = UUID.randomUUID().toString();

String cookieValue = pCookiePeer + "\t" + tokenString;

// ヘッダに返却するp_cookie値は、暗号化する

String encodedCookieValue = LocalToken.encode(cookieValue,

UnitLocalUnitUserToken.getIvBytes(AccessContext

.getCookieCryptKey(requestURIInfo.getBaseUri())));

// Cookieのバージョン(0)を指定

int version = 0;

String path = getCookiePath();

// Cookieを作成し、レスポンスヘッダに返却する

Cookie cookie = new Cookie("p_cookie", encodedCookieValue, path,

requestURIInfo.getBaseUri().getHost(), version);

rb.cookie(new NewCookie(cookie, "", -1, PersoniumUnitConfig

.isHttps()));

// レスポンスボディの"p_cookie_peer"を返却する

resp.put("p_cookie_peer", pCookiePeer);

}

return rb.entity(resp.toJSONString()).build();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值