Tôi đang sử dụng ASP.NET Core để phục vụ API cho ứng dụng khách Android. Android đăng nhập dưới dạng tài khoản Google và chuyển JWT, Mã thông báo ID tới API dưới dạng mã thông báo mang. Tôi có ứng dụng hoạt động, nó vượt qua kiểm tra auth, nhưng tôi không nghĩ rằng nó xác nhận chữ ký token.Xác thực Mã số Thẻ Google
Mỗi tài liệu của Google, tôi có thể gọi url này để làm điều đó: https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123, nhưng tôi không thể tìm thấy móc thích hợp ở phía máy chủ để thực hiện. Cũng theo các tài liệu của Google, tôi bằng cách nào đó có thể sử dụng API Client Access để làm điều đó mà không cần gọi đến máy chủ mỗi lần.
mã cấu hình của tôi:
app.UseJwtBearerAuthentication(new JwtBearerOptions()
{
Authority = "https://accounts.google.com",
Audience = "hiddenfromyou.apps.googleusercontent.com",
TokenValidationParameters = new TokenValidationParameters()
{
ValidateAudience = true,
ValidIssuer = "accounts.google.com"
},
RequireHttpsMetadata = false,
AutomaticAuthenticate = true,
AutomaticChallenge = false,
});
Làm thế nào để tôi có được middleware JWTBearer để xác nhận chữ ký? Tôi gần như từ bỏ việc sử dụng phần mềm trung gian MS và cuộn của riêng tôi.
Wow Tôi đã là người đóng góp trên thư viện khách hàng chính thức của Google .Net từ năm 2012. Bạn có chắc chắn C# chưa có? Ngoài ra, gửi spam tokeninfo không được Google khuyên dùng, bạn nên xác thực Token_id cục bộ. https://github.com/google/google-api-dotnet-client – DaImTo
lời xin lỗi @DalmTo, bạn nói đúng! Tôi đã chỉnh sửa câu trả lời của mình –
GoogleApiTokenInfo được định nghĩa ở đâu? Đây có phải là lớp tùy chỉnh bạn đã tạo hoặc được xác định trong Google SDK không? –