記事
· 2022年3月17日 4m read

IRIS Web アプリケーションからの GitHub アカウントによる OAuth2 認証


この記事では、以下のオンラインデモを通じ、GitHub アカウントを使用した OAuth2 認証の基本を説明します。
https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp(SuperUser | SYS)

推奨事項:

目的を達成するために必要な 3 つのステップ:

  • ステップ 1: GitHub 認証サーバーにアプリケーションを登録する
  • ステップ 2: InterSystems 管理ポータルから OAuth 2.0 クライアントを構成する
  • ステップ 3: GitHub アカウントでログインするための API を呼び出す

それでは始めましょう。 

ステップ 1: GitHub 認証サーバーにアプリケーションを登録する

GitHub 認証サーバーにアプリケーションを登録するには、GitHub アカウントが必要です。 
GitHub アカウントにログインして https://github.com/settings/developers に移動し、[OAuth Apps(OAuth アプリ)]タブで[New OAuth App(新しい OAuth アプリ)]ボタンをクリックします。

 

アプリケーション名、ホームページ URL、説明、および認証コールバック URL を入力します。
認証コールバック URL は OAuth2.Response.cls クラス({domain}/csp/sys/oauth2/OAuth2.Response.cls)を参照する必要があることに注意してください。
[Register Application(アプリケーションを登録)]をクリックします。

すると、詳細ページが開きます。 [Generate a new client secret(新しいクライアントシークレットを生成)]をクリックし、IRIS OAuth2 クライアントを構成する際に使用するクライアント ID と秘密鍵を保存します。
アプリケーションが登録されました。

ステップ 2: InterSystems 管理ポータルから OAuth 2.0 クライアントを構成する

システム]>[セキュリティ管理]>[OAuth 2.0 クライアントに移動し、[サーバーの説明を作成]ボタンをクリックします。

上部にある[手動]ボタンをクリックし、以下の詳細を入力してサーバーの説明を保存します。

システム]>[セキュリティ管理]>[OAuth 2.0 クライアントに戻り、[クライアント構成]をクリックします。

[一般]タブに詳細を入力します。 クライアントリダイレクト URL は、アプリケーションを GitHub に登録した際に入力した認証コールバック URLと同じであることに注意してください。

[クライアント資格情報]に、アプリケーションを GitHub に登録した際に生成したクライアント ID とクライアントシークレットを入力し、クライアント構成を保存します。

ステップ 3: GitHub アカウントでログインするための API を呼び出す

オンラインデモ(https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp)に移動し、 SuperUser | SYS でログインします。
トップメニューから[Login with GitHub(GitHub でログイン)]をクリックします。


これで、Oauth.cls ページが開きます。 サインインを試す前に、必ず GitHub からログアウトしてください。 [GitHub Sign In(GitHub サインイン)]をクリックします。

システムは %SYS.OAuth2.Authorization クラス(https://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?...)の GetAuthorizationCodeEndpoint メソッドを使用して、GitHub 認証サーバーに移動します。

ログインに成功すると、システムは OauthRe.cls ページにリダイレクトします。

コードは https://github.com/mwaseem75/Data_APP_Security のリポジトリから入手できます。

 

以上です!

ディスカッション (0)2
続けるにはログインするか新規登録を行ってください