使用Java for REST服务创建登录访问令牌(身份验证令牌)

使用Java for REST服务创建登录访问令牌(身份验证令牌),java,rest,authentication,login,access-token,Java,Rest,Authentication,Login,Access Token,在我为移动应用程序编写的REST服务上, Rest客户端应用程序将第一次向登录服务请求发送用户id和密码,并将登录访问令牌返回给客户端。 然后,应使用他们从登录服务获得的访问令牌进行其他后续调用。 在这里,我将解密accessToken并验证解密的内容,以确保请求和访问令牌对后续调用有效 我想使用身份验证令牌从移动设备登录,用户将发送其用户名、密码,服务器将发送回令牌,该令牌将用于授权用户在给定时间内的进一步请求 我可以像下面这样自己创建一个令牌吗 public String getAcces

在我为移动应用程序编写的REST服务上, Rest客户端应用程序将第一次向登录服务请求发送用户id和密码,并将登录访问令牌返回给客户端。 然后,应使用他们从登录服务获得的访问令牌进行其他后续调用。 在这里,我将解密accessToken并验证解密的内容,以确保请求和访问令牌对后续调用有效

我想使用身份验证令牌从移动设备登录,用户将发送其用户名、密码,服务器将发送回令牌,该令牌将用于授权用户在给定时间内的进一步请求

我可以像下面这样自己创建一个令牌吗

public  String getAccessToken(String deviceId,String userId ){
final String TRANSFORMATION = "RSA/ECB/PKCS1Padding";
final String ALGORITHM="RSA";
protected final String CHARCTER_ENCODING = "UTF-8";

String timeStamp=String.valueOf(new java.util.Date().getTime());
String accessTokenToEncript=userId +":##"+beanInput.getPassword()+":##"+deviceId+":##"+timeStamp;
acccessToken=FAR_CIPHER.encrypt(inputMessage);

X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(IOUtils.toByteArray(new FileInputStream(PUBLIC_KEY_FILE_PATH)));
Cipher cipher = Cipher.getInstance(TRANSFORMATION);
cipher.init(Cipher.ENCRYPT_MODE, KeyFactory.getInstance(ALGORITHM).generatePublic(x509EncodedKeySpec));
return Base64.encodeBase64String(cipher.doFinal(rawText.getBytes(CHARCTER_ENCODING)));

}
下面是我使用的解密逻辑

public String decrypt(String cipherText)throws Exception {
   final String TRANSFORMATION = "RSA/ECB/PKCS1Padding";
   final String ALGORITHM="RSA";
   final String CHARCTER_ENCODING = "UTF-8";
   PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new KCS8EncodedKeySpec(IOUtils.toByteArray(new      FileInputStream(PRIVATE_KEY_FILE_PATH)));
   Cipher cipher = Cipher.getInstance(TRANSFORMATION);   cipher.init(Cipher.DECRYPT_MODE,KeyFactory.getInstance(ALGORITHM).generatePrivate(pkcs8EncodedKeySpec));
   return new String(cipher.doFinal(Base64.decodeBase64(cipherText)), CHARCTER_ENCODING);
}
或者是否有其他标准方法来创建令牌?也许它存在于一个API中
你能给我提个建议吗。

我已经浏览了下面的链接。但是我在这方面是新手,所以我发现很难理解和以我的方式实现。虽然我在创建REST服务方面是新手,但我正在开发Jersey api,