是否有一种方法可以对dotnet核心Grpc服务实施openiddict,我在Startup.cs中添加了以下内容:
services.AddOpenIddict().AddCore(options => {
options.UseEntityFrameworkCore()
.UseDbContext<DBContext>();
}).AddServer(options => {
options.AcceptAnonymousClients();
options.AllowPasswordFlow()
.AllowRefreshTokenFlow();
options.AddDevelopmentSigningCertificate();
}).AddValidation(options =>{
options.EnableAuthorizationValidation();
});
还添加到“配置”中:
app.UseAuthentication();
app.UseAuthorization();
如何获得服务中的GetOpenIddictServerRequest
并生成令牌?
答案 0 :(得分:1)
如何在服务中获取GetOpenIddictServerRequest并生成令牌?
OpenIddict不支持能够从任意gRPC服务返回授权或令牌响应(甚至不是标准的东西)。
也就是说,没有什么可以阻止您使用令牌身份验证来保护gRPC服务。为此,您可以使用OpenIddict验证处理程序或JWT处理程序。有关gRPC和身份验证的更多信息,您可以阅读Authentication and authorization in gRPC for ASP.NET Core。