2013-06-17 38 views
6

Tôi đang triển khai máy chủ cung cấp OAuth 2.0 bằng cách sử dụng khung công tác Apache Oltu, tìm kiếm một số ý tưởng về cách tạo mã thông báo truy cập và mã thông báo bí mật trong java. Xin cho biết.OAuth 2.0 Tạo mã thông báo và mã thông báo riêng

+0

Làm theo tài liệu Oatuh, google và tự giúp mình! –

Trả lời

14

OAuth 2.0 specification không nói bất cứ điều gì về cách tạo mã thông báo và mã thông báo bí mật. Vì vậy, tùy thuộc vào bạn liệu bạn có sử dụng một số dữ liệu hiện có/neo để tạo mã thông báo hay bạn muốn sử dụng chuỗi ngẫu nhiên để tạo mã thông báo. Điểm khác biệt duy nhất là nếu bạn sử dụng dữ liệu được biết có lẽ (ví dụ: dữ liệu người dùng, chẳng hạn như tên người dùng, ngày tạo, v.v.), bạn có thể khôi phục mã thông báo bất cứ khi nào bạn cần. Nếu bạn sử dụng chuỗi dữ liệu ngẫu nhiên, thì bạn không thể khôi phục mã thông báo khi chúng bị mất.

Nói cách khác, RFC không hạn chế bạn trong quá trình tạo.

Tôi có thể sử dụng nối chuỗi dữ liệu Chi tiết người dùng cộng với một số dữ liệu ngẫu nhiên, sau đó thực hiện mã hóa Base64.

String keySource = username + creationDate + random; 
byte [] tokenByte = new Base64(true).encodeBase64(keySource.getBytes()); 
String token = new String(tokenByte); 
+1

cảm ơn đề xuất, yêu cầu của tôi là có một mã thông báo chứa thông tin như id ứng dụng, id ứng dụng, v.v ... và có mã bí mật có thể được sử dụng để giải mã mã thông báo đã phát hành và nhận thông tin trong mã thông báo. đề nghị tôi một số cách để thực hiện điều đó. – willsteel

+1

Sau đó, bạn có thể tạo mã thông báo là id ứng dụng, id ứng dụng, vv Tạo mã thông báo bí mật và lưu trữ trong DB. Và sử dụng thuật toán DES để mã hóa/giải mã mã thông báo đã phát hành với mã thông báo bí mật. Đây là ví dụ về cách sử dụng DES là java http://java-espresso.blogspot.com/2011/09/des-algorithm-code-in-java.html – Sqeezer

+0

Cảm ơn bạn đó chính xác là những gì tôi đang tìm kiếm, có thể bạn đề xuất một số thuật toán khác an toàn hơn DES và có thể được sử dụng cho yêu cầu của tôi? – willsteel

Các vấn đề liên quan