1

私の Web サイトのユーザーが Azure B2C で "サインアップ" プロセスを完了したことをどのように知ることができますか? オブジェクト ID の独自のリストを保存し、それに対してチェックする必要がありますか? いずれにせよそうしなければならないという気持ちはあります...

4

3 に答える 3

0

これを解決することができました...

ステップ 1 (Azure ポータル)

  • Azure Portal で ADB2C に移動し、サインアップとサインイン ポリシーをクリックします。
  • [アプリケーション クレーム] をクリックし、[ユーザーは新規] クレームにチェックを入れます。

「ユーザーは新規」クレームは、ユーザーがサインアップしたばかりの場合にのみ送信されます ここに画像の説明を入力

ステップ 2 (コード)

//OpenIdConnectOptions の使用

options.Events = new OpenIdConnectEvents()
{
            OnRedirectToIdentityProvider = OnRedirectToIdentityProvider,
            OnRemoteFailure = OnRemoteFailure,
            OnAuthorizationCodeReceived = OnAuthorizationCodeReceived,
            OnAuthenticationFailed = OnAuthenticationFailed,
            OnMessageReceived = OnMessageReceived,
            OnRedirectToIdentityProviderForSignOut = OnRedirectToIdentityProviderForSignOut,
            OnRemoteSignOut = OnRemoteSignOut,
            OnSignedOutCallbackRedirect = OnSignedOutCallbackRedirect,
            OnTicketReceived = _onTicketReceivedInternal,
            OnTokenResponseReceived = OnTokenResponseReceived,
            OnTokenValidated = OnTokenValidated,
            OnUserInformationReceived = OnUserInformationReceived
};

_onTicketReceivedInternal タスクに注意してください...

private Task _onTicketReceivedInternal(TicketReceivedContext context)
{
        this.OnTicketReceived(context);

        //Check if new user
        Claim newUserClaim = context.Principal.Claims.ToList().FirstOrDefault(x => x.Type == "newUser");
        bool newUser = newUserClaim == null ? false : true;

        //Trigger event
        if (newUser)
            this.OnSignUp(context);


        return Task.FromResult(0);
}

//Custom method OnSignUp where an application can do something on user sign up
protected virtual Task OnSignUp(TicketReceivedContext context)
{
        return Task.FromResult(0);
}
于 2019-05-22T06:31:11.473 に答える
0

はい、オブジェクト ID のリストを保存し、それに応じてビジネス ロジックで検証する必要があります。

于 2016-03-19T04:32:04.400 に答える