ライセンス管理 keygen - 実際に使ってみよう!
前回は、ライセンス管理ツール "keygen" についてお話しました。
"まだ見てないぜ!"
って方はこれからでも良いのでご覧くださいね。
⬇️ ライセンスを管理する - keygen を使おう! ⬇️
さて、keygen がなにものか!
ということがわかったところで、実際に使ってみたいと思います。
アカウントを作る
まずはアカウントを作らなければなりませんので、kedygen にアクセスしてアカウントを作りましょう。
1. "Sign Up" を押す
2. アカウント登録
メールアドレスとパスワードを入力するだけですね👍
登録出来たら、こんなウィンドウが開きます。
そして、ダッシュボードに入れたら、アカウント作成完了です。
keygen の設定
プログラムを作っていく前に、まずは keygen にて "商品" や "ポリシー" などを作っていきましょう。
と、その前に…
商品はわかるけど、ポリシーってなによ?💢💢
という方もいると思うので、いったんこのあたりを説明しておきましょう。
keygen で使われる設定 (キーワード)
keygen で使われる設定には、いろいろあります。
いろいろと設定はありますので、やろうと思えばすっごく細かく設定が可能です。
Machines で IPアドレスやプラットフォームを管理したり、Components でマザーボードのシリアルを管理することが出来たりします。
ユーザーやマシン、場所を特定することが出来るので、不正アクセス防止にはかなり役立ちます✨
しかし…、普通はそんなにがっつりしませんよね💦
ということで、最低限必要なものだけ登録していきましょう。
全体像
まずは、License (ライセンス) ですね。
ちゃんとライセンスキーもっている人だけ使える、というやつです。
License は、Policies (ポリシー) を設定する必要があります。
Policies は、利用条件や制約などを設定するためのものです。
例えば、追加機能を使うためのポリシーを設定する、などが出来ます。
また、この Policies は、必ず Product と紐づける必要があります。
Product は、製品そのものですので、製品名を設定すればOKです。
細かくは、次を見ていきましょう。
各種設定
まずは、Product を設定します。
※Policies で使いますので👍
とりあえず名前を設定すればOK🤣
:中略
いろいろと設定項目があって「どうしたらいいの~?」ってなりますが、何にも設定しなくても大丈夫ですので、気にせず進みましょう👍
必須項目は、Product だけです。
これが基本のライセンスキーですね。
基本はこれだけあればいいんですが、このライセンスキーを設定するために、ポリシーとプロダクトを設定している、という感じです🤣
さて、これで keygen 上での設定が完了しました。
では、実際にライセンスキーをチェックしていきましょう。
ライセンス確認
今回は、Next.js を使って確認していきます。
ライセンスキーの確認用のエンドポイントを作って、サーバーサイドでライセンス確認をしていきます。
さて、確認用のソースは以下の通りです。
export default async function handler(req, res) {
if (req.method !== 'POST') {
return res.status(405).json({ error: 'Method not allowed' });
}
const { licenseKey } = req.body;
const KEYGEN_ACCOUNT_ID = process.env.NEXT_PUBLIC_KEYGEN_ACCOUNT_ID;
const KEYGEN_TOKEN = process.env.KEYGEN_TOKEN;
try {
const response = await fetch(`https://api.keygen.sh/v1/accounts/${KEYGEN_ACCOUNT_ID}/licenses/actions/validate-key`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${KEYGEN_TOKEN}`,
'Content-Type': 'application/json',
'Accept': 'application/json',
},
body: JSON.stringify({
meta: {
key: licenseKey,
},
}),
});
const data = await response.json();
if (!response.ok) {
// エラー処理
return res.status(400).json({ error: data.errors });
}
// ライセンスが有効な場合の処理
res.status(200).json({ valid: true, license: data.data });
} catch (error) {
// ネットワークエラーなどの例外処理
res.status(500).json({ error: 'ライセンス検証中にエラーが発生しました。' });
}
}
KEYGEN_ACCOUNT_ID は、自分のアカウントID です。
YOUR ACCOUNT > Settings で確認してください。
KEYGEN_TOKEN は、アクセス用のトークンです。
ACCESS > API Tokens で作成してください。
これでライセンスキーの有効/無効の確認ができるようになります。
詳しくは、公式ドキュメントを確認してくださいね。
今回は、単純にライセンスキーの確認をするだけでしたが、機能が有効化どうか、期限付きのものかどうか、など非常に細かく設定できますので、ぜひぜひいろいろと触ってみてくださいね。
まとめ
前回/今回と、ライセンス管理ツール (SaaS) である keygen についてお話してきました。
いかがでしたか?
ライセンス管理したい!
という要望はなかなか無いかと思いますが、もし必要になった時にでも思い出して使ってみてください。
無料でも十分使えますからね👍
もしわからないことがありましたら、お気軽に LINE公式アカウント でご質問くださいね。
⬇️LINE公式アカウントに登録してご連絡ください⬇️