Tôi có một API Web với một dịch vụ auth, cho một khách hàng WPF, thiết lập như thế này:Làm cách nào để nhận được các khiếu nại được bao gồm trong AuthTicket của tôi trong Dịch vụ xác thực API Web?
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
...
}
}
và
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
...
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
ApplicationCanDisplayErrors = true,
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true, // TODO Make false to deploy
};
app.UseOAuthAuthorizationServer(OAuthOptions);
}
}
tôi chỉ bao giờ sử dụng /Token
endpoint cho đến nay, vì nó ở ít nhất là cấp cho tôi mã thông báo mang. Vé tôi nhận được trên xác thực thành công có vấn đề và ngày hết hạn, mã thông báo mang và tên người dùng của tôi.
Làm cách nào để nhận được xác nhận quyền sở hữu của người dùng (và có thể là vai trò)? Có cái gì tôi có thể làm ở đây, hoặc tôi làm theo tôi và yêu cầu họ thông qua API, sau khi auth, và tổng hợp chúng và vé Auth trong một cái gì đó giống như một đối tượng Principal
cho khách hàng WPF?
Tôi có thể bao gồm một số thành phần Identity trong ứng dụng WPF để giúp trích xuất các xác nhận quyền sở hữu từ mã thông báo và mọi đề xuất về cách tôi nên làm điều này không?
Tất cả thông tin được mã hóa bên trong mã thông báo, do đó bạn có thể giải mã mã thông báo. Tất nhiên bạn không thể có khóa giải mã trên máy khách - chỉ trên máy chủ. Vì vậy, có - bạn phải yêu cầu họ thông qua API sau khi auth (theo lý thuyết bạn có thể gửi chúng cùng với phản hồi auth của bạn, nhưng không chắc chắn nếu oauth tích hợp có khả năng như vậy). – Evk
Nhưng tôi không cần một tra cứu DB để yêu cầu họ, chỉ cần giải mã mã thông báo auth tôi phải gửi anyway, và gửi lại các yêu cầu bồi thường. Nếu bạn vui lòng, bất kỳ gợi ý về cách giải mã mã thông báo? Hay đó là một câu chuyện dài? – ProfK
Bạn muốn tránh cuộc gọi riêng đến dịch vụ của bạn để nhận được khiếu nại? Bạn muốn nhận chúng cùng với mã thông báo (vì vậy, từ cuộc gọi đến điểm cuối/token)? – Evk