問題タブ [blazor-server-side]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
token - IDataProtector Unprotect: 入力は有効な Base-64 文字列ではありません
Identity ConfirmEmailAsync に問題があり、常に無効なトークンが返されます。そこで、カスタム TokenProvider を作成します。一方では、私はこのコードを持っています:
反対側の ConfirmEmail ページでは、UserID とトークンを入力ルート パラメータとして受け取ります。
私が持っているトークンを作成するメソッドの最後にあるカスタム TokenProvider で:
Validate メソッドの冒頭には、次のものがあります。
確認リンクをクリックしてコードがこの行に到達するたびに、次のエラーが発生します。
入力は、base 64 以外の文字、3 つ以上の埋め込み文字、または埋め込み文字に無効な文字が含まれているため、有効な Base-64 文字列ではありません。"}
メソッド GenerateAsyncEmail の最後のバイトを base64string に変換すると、このエラーが発生するのはなぜですか? 私が持っているスタートアップクラスでも:services.AddDataProtection(); それをtokenproviderクラスに注入します。
これは、Blazor サーバーサイド コンポーネントの入力パラメーターのバグであると確信しています。