SSO 認証
シングルサインオン(SSO)は、ユーザーを Ducalis 投票ボードに事前認証し、別途ログインを不要にします。各アイデアを誰が投稿したか正確に把握できます。
👀 ライブデモ: Ducalis にログインしてから、https://feedback.ducalis.io/Ducalis-roadmap/summary にアクセスしてください。同じログイン情報、メールアドレス、名前、アバター、会社名が自動的に適用されます。
SSO を使用する理由
ユーザーの特定: 各アイデアを誰が投稿したかを把握することで、フィードバックに不可欠なコンテキストが得られます。SSO により、どのユーザーがどのフィードバックを提供したか正確に把握できます。
プライベート投票ボードには SSO が必須です。ウィジェットはコンテンツを表示する前に、各ユーザーの ID と権限を確認します。SSO がないと、ウィジェットは誰に対しても読み込まれません。
シームレスな体験: ユーザーはアイデアの投稿や投票のために別途ログインする必要がありません。ワンクリックで製品のチェンジログを購読できます。
セキュリティ: ID 検証により、会話をプライベートに保ち、なりすましを防止します。すべての Ducalis のお客様に ID 検証を有効にすることを強くお勧めします。
ウィジェットコードの取得
-
投票ボードの Settings(設定)に移動します。
-
Embed(埋め込み)を選択し、指示に従ってください。
認証パラメータの設定
ウィジェットコードに user パラメータを追加します:
<script>
!function(b,c,f,d,a,e){b.dclsPxl||(((d=b.dclsPxl=function(){d.callMethod?d.callMethod.apply(d,arguments):d.queue.push(arguments)}).push=d).queue=[],(a=c.createElement("script")).async=!0,a.src=f,(e=c.getElementsByTagName("script")[0]).parentNode.insertBefore(a,e))}(window,document,"https://hi.ducalis.io/js/widget.js")
dclsPxl("initWidget", {
appId: "_YOUR_APP_ID", // Required(必須)
boardId: "_YOUR_BOARD_ID", // Required(必須)
user: {
// required(必須)
email: "Your user Email",
hash: "User hash",
// optional(任意)
userID: "Your user ID",
name: "Your user Name",
avatar: "https://you-user-avatar-domain/avatar.png",
company: "Your user Company name",
},
});
</script>
ユーザーパラメータ
email(必須): 製品に登録されているユーザーのメールアドレス。ユーザーはダブルオプトインでチェンジログまたは投票ボードの更新を明示的に購読する必要があります。メールアドレスはボード内の Ducalis チームメイトにのみ表示されます。
hash(必須): ID セキュリティ検証。以下のユーザーハッシュの生成を参照してください。
userID(任意): ログインユーザーに対する製品固有の識別子。
name(任意): 製品内のユーザー名。投票者およびアイデア作成者として表示されます。ボード内の Ducalis チームメイトにのみ表示されます。
avatar(任意): 製品内のユーザーアバター。フィードバック評価時にボードに表示されます。誰が何に投票したかを明確にします。
company(任意): 製品にグループアカウントがある場合の組織名。組織別にグループ化された投票ボードリクエストを表示する場合に推奨されます。
個人顧客のフィードバックの場合
フィードバックが主に会社ではなく個人ユーザーからのものである場合、company パラメータにユーザーのデータ(ユーザー名やメールアドレスなど)を使用します。これにより、会社がユーザー名と同じである会社レベルのデータを扱うことができます。
カスタムフィールドの追加
各投票者にカスタムコンテキストデータを追加して、売上、ARR、市場セグメントなどの追加情報を取得します。会社の規模、市場、顧客の契約期間によってフィードバックは異なる場合があります。
Ducalis でこのデータによりセグメント化し、ユーザーフィードバックのパターンをより深く分析できます。
ウィジェットコードに company パラメータを追加します:
<script>
!function(b,c,f,d,a,e){b.dclsPxl||(((d=b.dclsPxl=function(){d.callMethod?d.callMethod.apply(d,arguments):d.queue.push(arguments)}).push=d).queue=[],(a=c.createElement("script")).async=!0,a.src=f,(e=c.getElementsByTagName("script")[0]).parentNode.insertBefore(a,e))}(window,document,"https://hi.ducalis.io/js/widget.js")
dclsPxl("initWidget", {
appId: "_YOUR_APP_ID", // Required(必須)
boardId: "_YOUR_BOARD_ID", // Required(必須)
user: {
// required(必須)
email: "Your user Email",
hash: "User hash",
// optional(任意)
userID: "Your user ID",
name: "Your user Name",
avatar: "https://you-user-avatar-domain/avatar.png",
company: {
id: 123, // Required(必須)
name: "My Super Client", // Required(必須)
customFields: {
prop1: "Active",
prop2: 1.8
}
}
},
});
</script>
company.id, company.name(必須): カスタムコンテキストデータを渡す際の必須フィールド。
customFields: 任意の数のカスタムプロパティを追加できます。例: status: "Active" や arr: 50000。
ユーザーハッシュの生成
ユーザーが Ducalis 投票ボードでアイデアにすぐに投票または作成できるようにするには、ウィジェットにユーザーデータを渡します。Ducalis は、ユーザーデータとともにハッシュキーをチェックすることで、ユーザーがあなたのサイトから来たことを確認します。
ハッシュは HMAC アルゴリズムと SHA-256 を使用して生成されます。ユーザーのメールアドレスを値として、オーガニゼーションのシークレットキーをキーとして使用します。
-
グローバルオーガニゼーション設定でアプリのシークレットを確認します:
-
ユーザーハッシュ生成を https://www.freeformatter.com/hmac-generator.html で確認できます。
ハッシュ生成の例
Node.js:
const crypto = require("crypto");
// シークレットキーをここに入力してください(非公開にしてください!)
// 注意: 以下は例です。実際のキーは異なります
const secretKey = "0fd72e0ff53b274293029fd1f3f40c92123123123easf2edq312edwe";
var email = "user@gmail.com";
var hash = crypto.createHmac("sha256", secretKey).update(email).digest("hex");
console.log("hash is:", hash);
PHP:
$secret = '0fd72e0ff53b274293029fd1f3f40c92123123123easf2edq312edwe';
$email = 'user@gmail.com';
$hash = hash_hmac('sha256', $email, $secret);
echo 'Hash is: '. $hash;
独自ドメインの使用
デフォルトでは、投票ボードは hi.ducalis.io ドメイン(例: https://feedback.ducalis.io/Ducalis-roadmap/summary)にあります。
最新のブラウザはクロスドメイン Cookie をブロックするため、カスタムドメインなしではユーザー識別が不可能になります。
シームレスな投票ボード体験のために、投票ボードを製品およびウィジェットを埋め込むページと同じセカンドレベルドメインに配置してください。これにより、ウィジェットと投票ボードの両方でユーザーが識別されます。
投票ボードアドレスを ideas.yourcompanyname.com のように設定するには、投票ボードのカスタムドメイン設定を参照してください。
クロスドメイン認証の例
ドメインが superproduct.com の場合。製品は app.superproduct.com、マーケティングページは superproduct.com、ヘルプセンターは help.superproduct.com で運用しています。Ducalis 投票ボードを voting.superproduct.com のように同じドメインに接続します。
そうすることで、すべてのユーザーがウィジェットと投票ボードの両方で同じ認証情報で識別されます。