带有托管身份文档的 EF Core + Azure PostgreSQL?

EF Core + Azure PostgreSQL with Managed Identity Documentation?

MS 具有 EF Core + Azure SQL 和托管身份的文档。 两年前也对它以及一些替代实现进行了深入讨论。

但我找不到适用于 Azure PostgreSQL 的任何内容,它也支持托管身份,可与 EF Core 一起使用。

MS 在此处提供了 Azure PostgreSQL 托管身份的通用文档: https://docs.microsoft.com/en-us/azure/postgresql/howto-connect-with-managed-identity

似乎建议在常规 PostgreSQL 连接字符串中用访问令牌替换密码是它的工作原理。

那么使用 EF Core 实现它的最佳方法是什么?

任何建议或 link 相关文档将不胜感激。

replacing the password with access token in a regular PostgreSQL connection string is how it works.

在 .NET Core 中,通常配置如下:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();

        services.AddTransient(typeof(Foo));
        services.AddSingleton(typeof(Bar));

        services.AddDbContext<Db>((sp, options) =>
            {
                var config = sp.GetRequiredService<IConfiguration>();
                var constr = config.GetConnectionString("ConnectionString");
                var tp = sp.GetService<ITokenProvider>();
                var token = tp.GetToken("https://ossrdbms-aad.database.windows.net");
                constr = constr.Replace("[passsword]", token);

                options.UseNpgsql(constr);
            });


    }