Closed26
NextAuthの認証プロバイダーのOkta

NextAuth.js

Oktaには2つの利用形態がある
- Workforce Identity Cloud
- Customer Identity Cloud




Workforce Identity Cloud の場合
30日無料プラグラム内で検証

管理者画面を開く


表示されたダイアログ内で、以下を選択して、次へ

仮設定
本番環境ではlocalhost:3000
の箇所をドメインにする
- リダイレクト URI:http://localhost:3000/api/auth/callback/okta
- ログアウトリダイレクト URI:http://localhost:3000

設定完了後、以下のような画面が表示される

Issuer URIの確認は、APIのページを参照

NextAuthで必要な情報
- OKTA_CLIENT_ID
- 上記設定画面における、Client ID
- OKTA_CLIENT_SECRET
- 上記設定画面における、Client Secrets
- OKTA_ISSUER
- https://{ドメイン}.okta.com/oauth2/default
import OktaProvider from "next-auth/providers/okta";
...
providers: [
OktaProvider({
clientId: process.env.OKTA_CLIENT_ID,
clientSecret: process.env.OKTA_CLIENT_SECRET,
issuer: process.env.OKTA_ISSUER
})
]
...

別のAuthorization Serverを利用する場合
設定条件は自分の環境にあわせて設定ください

新しいAuthorization Serverの追加



Authorization Serverで、IssuerをOkta URLに変更

Access Policesの追加

適切な値をセット


Add rule

適切な値をセット


APIの画面で追加したIssuer URIを控える

NextAuthで必要な情報
- OKTA_CLIENT_ID
- 上記設定画面における、Client ID
- OKTA_CLIENT_SECRET
- 上記設定画面における、Client Secrets
- OKTA_ISSUER
- https://{ドメイン}.okta.com/oauth2/
xxxxxxx
- 新しく追加したAuthorization ServerのIssuer URI
- https://{ドメイン}.okta.com/oauth2/
import OktaProvider from "next-auth/providers/okta";
...
providers: [
OktaProvider({
clientId: process.env.OKTA_CLIENT_ID,
clientSecret: process.env.OKTA_CLIENT_SECRET,
issuer: process.env.OKTA_ISSUER
})
]
...
このスクラップは2023/11/30にクローズされました