4D NetKit は、4D 21 においてOAuth 2.0 認証後のリダイレクトをより簡単にしました。4D NetKit のOAuth2Provider クラスでは、authenticationPage とauthenticationErrorPage に実際のURL を指定できるようになりました。これは、Qodly ページやHTTP ハンドラのように、認証後のリダイレクトオプションが増えたことを意味します。認証が成功しても失敗しても、スムーズで柔軟なリダイレクトオプションでユーザーエクスペリエンスをコントロールできます。
何が変わったのか?
これら2つの属性はすでにNetKit. OAuth2Provider クラスの一部でしたが、以前は相対 URL を必要としていました。現在では、どちらのフィールドにも完全なURL を渡すことができ、Qodly のカスタムページやお好みのWeb 上の行き先を直接指定することができます。
var $credential:={}
$credential.name:="Microsoft"
$credential.permission:="signedIn"
$credential.clientId:="xxxxx"
$credential.redirectURI:="http://127.0.0.1:50993/authorize/"
$credential.scope:="https://graph.microsoft.com/.default"
$credential.browserAutoOpen:=False
// 認証に成功した場合、ユーザーをカレンダーページへリダイレクトする
$credential.authenticationPage:="http://localhost/$lib/renderer/?w=Calendar"
// 認証に失敗した場合、ユーザーを接続(ログイン)ページへリダイレクトする
$credential.authenticationErrorPage:="http://localhost/$lib/renderer/?w=Connect"
// 新規 OAuth2 オブジェクトを作成
return cs.NetKit.OAuth2Provider.new($credential)
カスタムURL へのリダイレクトは、認証フロー全体をシンプルにします。ログインの成功や失敗の後にそれぞれのケースごとにユーザーをナビゲートするために余分なロジックを構築する代わりに、以下のことが可能になります:
- ユーザーをアプリ内での次のページに直接移動させる。
- 専用のエラーページで認証エラーを丁寧に処理する。
結論
OAuth2 プロセスにリダイレクトを任せることで、コードの複雑さを軽減し、不要な中間ステップを避けることができます。URLを設定するだけで、あとは4D が処理します。
