我正在尝试使用身份服务器授权我的角度客户端。以下是我的角度客户端的设置。
authority: 'http://localhost:5000',
client_id: 'clientid',
redirect_uri: 'https://localhost:44384/auth-callback',
post_logout_redirect_uri: 'https://localhost:44384/',
response_type: "code",
scope: "openid profile",
filterProtocolClaims: true,
loadUserInfo: true,
automaticSilentRenew: true,
silent_redirect_uri: 'http://localhost:44384/silent-refresh.html'
Run Code Online (Sandbox Code Playgroud)
类似的客户端在IdentityServer端注册。
new Client
{
ClientId = "clientid",
AllowedScopes = { "openid", "profile" },
AllowedGrantTypes = GrantTypes.Code,
RequirePkce = true,
RequireClientSecret = false,
AllowAccessTokensViaBrowser = true,
AllowOfflineAccess = false,
AccessTokenLifetime = 3600,
RedirectUris={"https://localhost:44384/auth-callback" },
PostLogoutRedirectUris= {"https://localhost:44384/" },
RequireConsent= false
}
Run Code Online (Sandbox Code Playgroud)
并且运行良好。但是当我将相同的客户端设置移至数据库时,它给了我 Invalid grant type for client。
以下是VS日志
[15:15:56 Debug] IdentityServer4.EntityFramework.Stores.ClientStore
clientid found in database: True
[15:15:56 Debug] IdentityServer4.Stores.ValidatingClientStore …Run Code Online (Sandbox Code Playgroud) 我对 Java 线程和并发有点陌生。我读过有关同步和锁块的内容。他们让其他线程等待,直到第一个线程完成其工作。
我只是想知道一种方法,如果线程 A正在执行其执行,那么线程 B不应等待并跳过该共享代码块的执行。