KeycloakのAdmin REST APIでユーザを作成する

前回の記事でAdmin REST APIを使ってレルムの作成を行いました。

今回はユーザの作成をして、そのユーザにレルムの作成権限をマッピングしてみようと思います。

マスターレルムにユーザを作成して、そのユーザでレルムを作成することで作成したレルムの管理をそのユーザで行うことができます。 (※レルムを作成したユーザには自動でそのレルムのアクセス権限が付与されます。)

They will be granted full access to any new realm they create.

続きを読む

KeycloakのAdmin REST APIでレルムを作成してみる

Keycloakを使用する機会があったので、色々と使い方を調査してみました。

Keycloakは管理画面を提供してくれているのですが、今回は管理画面からではなくAdmin REST APIを使用して「レルム」の作成をしてみます。

なお、管理画面の操作方法については公式ドキュメントに記載があります。

続きを読む

Stripeでサブスクリプション決済のAPIを試してみた Part2

前回の記事でクイックスタートでStripeのサブスクリプション機能を試してみました。 決済は完了後、カスタマーポータル画面を表示させるところまでは確認できましたが、 サンプルコードにはWebhookをハンドリングする処理があり、こちらの動作をまだ確認できていません。 今回はこのWebhook機能の動作を確認していきたいと思います。

  • StripeのWebhook機能について
    • ローカル環境でWebhookを確認する
      • Stripe CLIのダウンロード
      • Stripe CLIでログイン
      • テスト環境用に通知の転送
  • Webhookの動作確認する
    • 成功時
    • 失敗時
  • まとめ
続きを読む

Stripeでサブスクリプション決済のAPIを試してみた Part1

オンライン決済を使ってサブスクリプションの仕組みを取り入れたい場合にどのようにすればよいか調べてみました。 実際に試してみた方がわかりやすいと考え、使いやすそうな決済APIサービスを使ってオンライン決済の流れを確認してみることにしました。 オンライン決済APIを提供しているサービスは多々ありますが、今回はテスト環境構築の簡易さと機能の多さからStripeを選定しました。

  • Stripe
  • 決済フローについて
  • 決済(サブスクリプション)機能の動作を確認
    • サンプルコードのダウンロード
    • 商品を作成する
    • サーバ環境構築
    • クライアントを確認
      • lookup_keyが設定されていないことを確認
      • lookup_keyを設定
    • カスタマーポータル画面の設定
    • 動作確認
  • 動作確認を踏まえてここまでのサーバのコードを確認する
  • まとめ
続きを読む

Google Translation APIのカスタムコネクタを作成する方法

今回はカスタムコネクタを作成する手順について記載します。 前回の投稿ではPowerAppsから既存のコネクタを使用していましたが、 今回作ったカスタムコネクタで差し替えて前回作成したPowerAppsを動作させたりすることが可能となります。

  • カスタムコネクタとは
  • Cloud Translation API
  • カスタムコネクタの作成
    • 1. 全般
    • 2.セキュリティ
    • 3.定義
      • 3.1.全般
      • 3.2. 要求
      • 3.3. 応答
    • 4. コード(プレビュー)
    • 5. テスト
  • Power Appsからの参照
  • まとめ
  • 参考
続きを読む

PowerAppsで簡単な翻訳アプリを作成する方法

今回はPowerAppsでMicrosoftのTranslatorというサービスを使用して簡単な翻訳アプリを作成してみようと思います。

  • PowerAppsとは
  • コネクタとは
  • PowerAppsでアプリを作成する
    • Power Apps Studioを開き、空のアプリの作成する
    • まずは基本的な機能を実装する
      • アイテムの配置
      • アクションを設定してみる
    • コネクタと連携してみる
      • アクションの編集
    • まとめ
    • 参考

PowerAppsとは

Power Apps は、ビジネス ニーズに合ったカスタム アプリを構築するために短時間で開発できる環境を提供するプラットフォームです。

Power Apps とは - Power Apps | Microsoft Learn

続きを読む

コンシューマ駆動契約テスト用ツールのPactを使う

以前の記事で、Spring BootのソースコードからOpenAPI仕様のフォーマットのAPI定義書のYamlファイルを生成するようにしました。このYamlファイルを受け取ったフロントエンド・エンジニアはバックエンドの仕様を確認しながら開発を開始できるようになります。

しかしながら、バックエンドの開発が進んでも、フロントエンド開発チームが想定している仕様が遵守される保証はありません。実際、多くの現場ではバックエンド開発チームが断りなくAPI仕様を変更したものをデプロイする事がよくあります。その結果、アプリケーションが動作しなくなり、原因究明のためフロントエンドの開発がストップしてしまいます。

このような事態を防ぐにはどうしたらよいのでしょうか? まず、フロントエンド(コンシューマ)側が想定しているAPI仕様に基づいてAPIのテストスイートを作成します。そして、バックエンド・サーバ(プロバイダ)はこのテストに合格するか、バックエンド開発チームがAPIの仕様変更をフロントエンド開発チームの了承を得ない限り、デプロイを禁止するようにすればよいのです。

この考えに基づくテストの事を、コンシューマ駆動契約(Consumer Driven Contract: CDC)テストと呼びます。

本記事では、CDCテスト・ツールであるPactを使い、コンシューマをTypeScriptで書かれたReactアプリケーション、プロバイダ側をJavaで書かれたSpring Bootアプリケーションとした場合の、CDCテストの例を解説します。

続きを読む