0

クライアント側が Angular で、バックエンドが IIS 上の .NET C# である Web サイトに Google 認証を実装しました。クライアント側でプロセスを開始し、アクセス トークンを取得します。トークンは、.NET ベースのバックエンドに転送する必要があります。バックエンドでは、Google.Apis.Auth 1.51.0 ライブラリを NuGet パッケージとして参照しました。そこにあるツールを使用してトークンを検証します。Visual Studio デバッグ モードでソースからテストすると完全に動作しますが、リリースを公開した後は IIS では動作しません。

エラー メッセージは次のとおりです。

依存関係を確認したところ、適切なバージョンのローカル フォルダーにあります。(Google.Apis.dll, Google.Apis.Core.dll, Google.Apis.Auth.dll, Google.Apis.Auth.PlatformServices.dll と Newtonsoft.Json.dll) ネットでいろいろ読んでみたところ、一般的な解決策は bindingRedirect を使用することです。web.config で 0.0.0.0-1.51.0.0 の範囲を新しいバージョン 1.51.0.0 に設定しようとしましたが、効果がありません。このような:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Google.Apis.Auth" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-1.51.0.0" newVersion="1.51.0.0" />
      </dependentAssembly>
    </assemblyBinding>
</runtime>

Google.Apis、Google.Apis.Core、および Google.Apis.Auth.PlatformServices でこれを実行しようとしましたが、成功しませんでした。構成タグに名前空間がありません。publicKeyToken の有無にかかわらず試してみました。

この問題に遭遇したことはありますか?何をすべきか考えていますか?大変お世話になりました。

4

2 に答える 2