providers/boxyhq-saml
BoxyHQSAMLProfile
拡張
Record
<string
,any
>
プロパティ
email: string;
firstName?
optional firstName: string;
id
id: string;
lastName?
optional lastName: string;
default()
default<P>(options): OAuthConfig<P>
BoxyHQ SAMLログインをページに追加します。
BoxyHQ SAMLは、SAML SSOログインフローをOAuth 2.0フローとして処理し、SAMLプロトコルの複雑さを抽象化するオープンソースサービスです。アプリでエンタープライズシングルサインオンを簡単に有効にします。
BoxyHQ SAMLは、個別のサービスとしてデプロイするか、NPMライブラリを使用してアプリに埋め込むことができます。詳細についてはドキュメントをご覧ください
設定
コールバックURL
https://example.com/api/auth/callback/boxyhq-saml
設定
OAuth 2.0フローの場合
import { Auth } from "@auth/core"
import BoxyHQ from "@auth/core/providers/boxyhq-saml"
const request = new Request(origin)
const response = await Auth(request, {
providers: [
BoxyHQ({
authorization: { params: { scope: "" } }, // This is needed for OAuth 2.0 flow, otherwise default to openid
clientId: BOXYHQ_SAML_CLIENT_ID,
clientSecret: BOXYHQ_SAML_CLIENT_SECRET,
issuer: BOXYHQ_SAML_ISSUER,
}),
],
})
OIDCフローの場合
import { Auth } from "@auth/core"
import BoxyHQ from "@auth/core/providers/boxyhq-saml"
const request = new Request(origin)
const response = await Auth(request, {
providers: [
BoxyHQ({
clientId: BOXYHQ_SAML_CLIENT_ID,
clientSecret: BOXYHQ_SAML_CLIENT_SECRET,
issuer: BOXYHQ_SAML_ISSUER,
}),
],
})
リソース
設定
SAMLログインには、テナントごとに設定が必要です。一般的な方法の1つは、メールアドレスのドメインを使用して、ユーザーがどのテナントに属しているかを判断することです。バックエンドからの一意のテナントID(文字列)を使用することもできます。これは通常、何らかのアカウントまたは組織IDです。
詳細については、ドキュメントをご覧ください。
クライアント側では、追加パラメータtenant
とproduct
をsignIn
関数に渡す必要があります。これにより、BoxyHQ SAMLは正しいSAML設定を判別し、ユーザーを正しいSAMLアイデンティティプロバイダーに誘導してサインインできます。
import { signIn } from "auth";
...
// Map your users's email to a tenant and product
const tenant = email.split("@")[1];
const product = 'my_awesome_product';
...
<Button
onClick={async (event) => {
event.preventDefault();
signIn("boxyhq-saml", {}, { tenant, product });
}}>
...
備考
デフォルトでは、Auth.jsはBoxyHQプロバイダーがOAuth 2仕様に基づいていると想定しています。
💡
BoxyHQプロバイダーには、デフォルトの設定が付属しています。ユースケースに合わせてデフォルトをオーバーライドするには、ビルトインOAuthプロバイダーのカスタマイズをご覧ください。
型パラメータ
型パラメータ |
---|
P extends BoxyHQSAMLProfile |
パラメータ
パラメータ | 型 |
---|---|
options | OAuthUserConfig <P > |
戻り値
OAuthConfig
<P
>