mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 16:56:56 +00:00
68 lines
2.3 KiB
Java
68 lines
2.3 KiB
Java
package code.opentok;
|
|
|
|
|
|
import com.opentok.OpenTok;
|
|
import com.opentok.Session;
|
|
import com.opentok.TokenOptions;
|
|
import com.opentok.Role;
|
|
import net.liftweb.util.Props;
|
|
import com.opentok.exception.OpenTokException;
|
|
import com.opentok.MediaMode;
|
|
import com.opentok.SessionProperties;
|
|
|
|
/**
|
|
* Created by markom on 5/22/16.
|
|
*/
|
|
public class OpenTokUtil extends Exception {
|
|
private static Session session;
|
|
|
|
public OpenTokUtil() {
|
|
// Empty constructor
|
|
}
|
|
|
|
public static OpenTok createOpenTok() {
|
|
// Set the following constants with the API key and API secret
|
|
// that you receive when you sign up to use the OpenTok API:
|
|
int apiKey = Integer.parseInt(Props.get("meeting.tokbox_api_key", "0000"));
|
|
String apiSecret = Props.get("meeting.tokbox_api_secret", "YOUR API SECRET");
|
|
OpenTok opentok = new OpenTok(apiKey, apiSecret);
|
|
return opentok;
|
|
}
|
|
|
|
public static Session getSession() throws OpenTokException {
|
|
if(session == null){
|
|
// A session that uses the OpenTok Media Router:
|
|
session = createOpenTok().createSession(new SessionProperties.Builder()
|
|
.mediaMode(MediaMode.ROUTED)
|
|
.build());
|
|
}
|
|
return session;
|
|
}
|
|
|
|
public static String generateTokenForModerator(int expireTimeInMinutes) throws OpenTokException {
|
|
|
|
// Generate a token. Use the Role MODERATOR. Expire time is defined by parameter expireTimeInMinutes.
|
|
String token = session.generateToken(new TokenOptions.Builder()
|
|
.role(Role.MODERATOR)
|
|
.expireTime((System.currentTimeMillis() / 1000L) + (expireTimeInMinutes * 60)) // in expireTimeInMinutes
|
|
.data("name=Simon")
|
|
.build());
|
|
|
|
return token;
|
|
}
|
|
|
|
public static String generateTokenForPublisher(int expireTimeInMinutes) throws OpenTokException {
|
|
|
|
// Generate a token. Use the Role PUBLISHER. Expire time is defined by parameter expireTimeInMinutes.
|
|
String token = session.generateToken(new TokenOptions.Builder()
|
|
.role(Role.PUBLISHER)
|
|
.expireTime((System.currentTimeMillis() / 1000L) + (expireTimeInMinutes * 60)) // in expireTimeInMinutes
|
|
.data("name=Simon")
|
|
.build());
|
|
|
|
return token;
|
|
}
|
|
|
|
|
|
}
|