既存のActive Directory Federation ServicesアプリでOpenID Connectを有効にする

このトピックでは、既存のActive Directory Federation Services(ADFS)アプリでOpenID Connect(OIDC)接続を有効化する方法について説明します。

この手順を開始する

  1. 既存のアプリでOIDCの使用を有効化します。

    1. Admin Consoleで、アプリケーション(Applications) > アプリケーション(Applications)に移動します。

    2. ADFSアプリを選択します。
    3. サインオン(Sign On)タブを選択します。
    4. 設定(Settings)セクションで編集(Edit)をクリックします。
    5. OpenID Connectを選択します。
    6. クライアントID(Client ID)クライアントシークレット(Client secret)を入力します。
    7. リダイレクトURI(Redirect URI)フィールドにリダイレクトURIを入力します。URIの末尾にはフォワードスラッシュを使用します(例:https://yourdomain.com/)。
    8. 保存(Save)をクリックします。
  2. ADFSグローバル認証ポリシーを編集用に開き、多要素(Multi-factor)タブを選択します。
  3. 次の手順に進む前に、Okta MFAプロバイダー(Okta MFA Provider)チェックボックスをオフにして、OKをクリックします。
  4. 既存のADFSプラグインをバージョン1.7.0以降にアップグレードします。
  5. アップグレードが完了したら、アプリが正常に機能することを確認します。
    1. このファイルをテキストエディターで開きます。

      C:\Users\<adfs_service_account_name>\AppData\Local\Okta\Okta MFA Provider\config\okta_adfs_adapter.json

      Active Directory Federation Services(ADFS)向けMFAの構成」を参照してください。

    2. useOIDCプロパティを検索して、その値をtrueに設定します。
    3. 変更を保存してテキストエディターを閉じます。
  6. テキストエディターを使用して、次のMicrosoft Powershellスクリプトをコピーして作成し、ApplyConfigurationSettingChanges.ps1として保存します。必要に応じて、BinDirおよびConfigDir変数の値を環境に合わせて変更してください。
    # ApplyConfigurationSettingChanges.ps1
    [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
    
    $BinDir = "C:\Program Files\Okta\Okta MFA Provider\bin"
    $ConfigDir = "C:\Program Files\Okta\Okta MFA Provider\config"
    
    Start-Service adfssrv
    
    # Remove Okta MFA Provider
    $providers = (Get-AdfsGlobalAuthenticationPolicy).AdditionalAuthenticationProvider
    $providers.Remove("OktaMfaAdfs") 
    Set-AdfsGlobalAuthenticationPolicy -AdditionalAuthenticationProvider $providers
    
    # Unregister 
    Unregister-AdfsAuthenticationProvider -Name "OktaMfaAdfs" -Confirm:$false -ErrorAction Stop
    
    # restart the ADFS service
    Restart-Service adfssrv -Force
    
    # register MFA adapter again
    $OktaMfaAssamply = [Reflection.Assembly]::Loadfile($BinDir + "\OktaMfaAdfs.dll")
    $typeName = "OktaMfaAdfs.AuthenticationAdapter, OktaMfaAdfs, Version=" + $OktaMfaAssamply.GetName().Version + ", Culture=neutral, PublicKeyToken=3c924b535afa849b"
    Register-AdfsAuthenticationProvider -TypeName $typeName -Name "OktaMfaAdfs" -Verbose -ConfigurationFilePath "$ConfigDir\okta_adfs_adapter.json"
    
    # restart the service
    Restart-Service adfssrv -Force
    
    # Enable Okta MFA adapter
    $providers = (Get-AdfsGlobalAuthenticationPolicy).AdditionalAuthenticationProvider
    $providers.Add("OktaMfaAdfs") 
    Set-AdfsGlobalAuthenticationPolicy -AdditionalAuthenticationProvider $providers
    						
  7. 管理者としてMicrosoft PowerShellを開き、スクリプトApplyConfigurationSettingChanges.ps1を実行します。
  8. ユーザーが認証できることを確認します。