【发布时间】:2020-01-15 04:34:27
【问题描述】:
我正在使用 microsoft OidcClient 用于 oauth2.0 的 google 帐户,我得到了
“用户信息端点缺少子声明”错误。”
任何人都可以建议我是否遗漏了什么或做错了什么。
public async Task Authorize ()
{
InitializeComponent ();
var providerInformation = new ProviderInformation
{
IssuerName = "accounts.google.com",
AuthorizeEndpoint = "https://accounts.google.com/o/oauth2/auth",
TokenEndpoint = "https://oauth2.googleapis.com/token",
//UserInfoEndpoint = "https://openidconnect.googleapis.com/v1/userinfo",
UserInfoEndpoint = "https://www.googleapis.com/oauth2/v3/tokeninfo",
KeySet = new JsonWebKeySet()
};
var scope = "https://www.googleapis.com/auth/fitness.blood_glucose.read https://www.googleapis.com/auth/fitness.body.read https://www.googleapis.com/auth/fitness.activity.read https://www.googleapis.com/auth/fitness.blood_pressure.read"; https://www.googleapis.com/auth/fitness.blood_glucose.read https://www.googleapis.com/auth/fitness.body.read https://www.googleapis.com/auth/fitness.activity.read https://www.googleapis.com/auth/fitness.blood_pressure.read";
var options = new OidcClientOptions
{
Authority = "https://accounts.google.com/o/oauth2/auth",
ClientId = "xyz",
Scope = scope,
RedirectUri = "com.abc.xyzt:/oauthredirect",
Browser = browser,
ProviderInformation = providerInformation,
//ResponseMode = OidcClientOptions.AuthorizeResponseMode.Redirect,
TokenClientCredentialStyle = IdentityModel.Client.ClientCredentialStyle.AuthorizationHeader
};
_client = new OidcClient(options);
await _client.LoginAsync(new LoginRequest());
}
我收到了 6 种不同类型的声明,但我没有收到图书馆正在寻找的 JwtClaimTypes.Subject "sub"。
谁能帮助或建议如何解决这个问题?
【问题讨论】:
标签: c# oauth-2.0 google-oauth identitymodel