如何在ASP.NET MVC 5中获取OpenId Connect访问令牌和刷新令牌?

时间:2017-04-28 18:52:12

标签: asp.net-mvc asp.net-mvc-5 openid-connect

我正在使用Microsoft.Security.Owin.OpenIdConnect在我的ASP.NET MVC 5应用程序中实现单点登录。这是我正在使用的代码:

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions {
                ClientId = "id",
                ClientSecret = "secret",
                MetadataAddress = "https://accounts.google.com/.well-known/openid-configuration",
                RedirectUri = "http://localhost:****",
                ResponseType = "code id_token",
                Scope = "openid email profile",
                SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie
            });

但是,我想获取访问令牌,并在必要时获取刷新令牌,以用于API代码。关于如何执行此操作的文档很少。显然我需要使用AcquireTokenByAuthorizationCode,但我只能在ActiveDirectory程序集中找到这个函数,这似乎不会用于OpenId。如何设置选项以便我可以在API中使用访问令牌?

1 个答案:

答案 0 :(得分:1)

在您的ResponseType中,同时输入令牌