もっと最近の技術革新はJWT - JSONウェブトークンです。 JWT - JSON Web Token
JWTは、ハッシュベースのメッセージ認証コードを表すようなHMACなどのハッシュ方法を使用してハッシュトークンを使用する方法であって、ここで
は仕様へのリンクです。トークンは秘密鍵を使用してハッシュされるため、サーバーはトークンが改ざんされているかどうかを判断できます。ここ
はJWTのためのハッシュトークンを作成するための例示的な方法であり:ここ
public String createTokenForUser(User user) {
byte[] userBytes = toJSON(user);
byte[] hash = createHmac(userBytes);
final StringBuilder sb = new StringBuilder(170);
sb.append(toBase64(userBytes));
sb.append(SEPARATOR);
sb.append(toBase64(hash));
return sb.toString();
}
は、それが改ざんされなかった保証するために、トークンを復号する例である:ここ
public User parseUserFromToken(String token) {
final String[] parts = token.split(SEPARATOR_SPLITTER);
if (parts.length == 2 && parts[0].length() > 0 && parts[1].length() > 0) {
try {
final byte[] userBytes = fromBase64(parts[0]);
final byte[] hash = fromBase64(parts[1]);
boolean validHash = Arrays.equals(createHmac(userBytes), hash);
if (validHash) {
final User user = fromJSON(userBytes);
if (new Date().getTime() < user.getExpires()) {
return user;
}
}
} catch (IllegalArgumentException e) {
//log tampering attempt here
}
}
return null;
}
でありますより完全な例の記事:Stateless Authentication
このライブラリを見てくださいhttps://pypi.python.org/pypi/python-oauth2 – DarkAnthey