どこでもサポートのアドオンでのJWTの仕組み
import io.jsonwebtoken.SignatureAlgorithm;
import javax.crypto.spec.SecretKeySpec;
import java.security.Key;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import java.io.UnsupportedEncodingException;
public static String generateJwt(String userToken) throws UnsupportedEncodingException{
String secretKey = ""; ///シークレットキーの値はアドオンが作成された後に付与されます。シークレットキーを取得したら、こちらの値として設定します
long notBeforeMillis = System.currentTimeMillis();
long notAfterMillis = notBeforeMillis + 300000;
SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
byte[] apiKeySecretBytes = secretKey.getBytes();
Key signingKey = new SecretKeySpec(apiKeySecretBytes, signatureAlgorithm.getJcaName());
JwtBuilder builder = Jwts.builder().signWith(signatureAlgorithm, signingKey);
String jwt = builder.claim("email_verified", true)
.claim("not_after", notAfterMillis)
.claim("not_before", notBeforeMillis)
.claim("email", <user_email_address_from_user_token>).compact();
return jwt;
}
パラメーター
|
内容
|
userToken
|
アプリケーションにサインインしたユーザーの情報を、アプリケーションから取得するためのパラメーターです。
|
email
|
ユーザーのメールアドレスを返すためのパラメーターです。
|
email_verified
|
メールアドレスが認証されているかどうかを返す、真偽値(true/false)のパラメーターです。その後、OAuthのトークンをどこでもサポートのアドオンに送信します。
|
not_before
と
not_after
|
JWTの期限が切れるまでの時間を表します。これらのパラメーターの値は、協定世界時(UTC:Coordinated Universal Time)形式によって、ミリ秒単位で指定する必要があります。
|
window.ZohoHCAsapSettings={
userInfo :{
jwtToken : "generated-jwt-token"
}
}
MyApplication.deskInstance.setUserToken(String jwtToken, ZDPortalCallback.SetUserCallback callback, boolean isJWT);
ZohoDeskPortalKit.login(withJWTToken: token, onCompletion: handler)
「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。
日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。