Tag: openid

如何在IdentityServer4中添加自定义声明来访问令牌?

我正在使用IdentityServer4 。 我想添加其他自定义声明来访问令牌,但我无法做到这一点。 我修改了Quickstart5,并按照下面的Coemgen的建议,通过ProfileService添加了ASP.NET Identity Core和自定义声明。 你可以在这里下载我的代码:[zip package] [3]。 (它基于:带有ASP.NET Identity Core的Quickstart5和通过ProfileService添加的声明)。 问题:GetProfileDataAsync未执行。

ASP.NET中的简单Facebook Connect演示

有没有人在asp.net应用程序中有一个简单而成功的facebook连接演示实现。 我正在开发一个asp.net Web应用程序,并希望facebook connect成为登录的主要方法。

AuthenticationResult.IsSuccessful开始为谷歌返回false

今天,在我的实际网站上没有任何更改,使用Google外部登录提供程序登录停止了工作。 这只发生在有谷歌登录的用户,其他提供商都没问题。 这也只发生在实时网站上,我的dev机器运行相同代码的调试版本就可以了。 我的代码类似于示例MVC应用程序: public ActionResult ExternalLoginCallback( string returnUrl ) { … AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication( Url.Action( “ExternalLoginCallback”, new { ReturnUrl = returnUrl } ) ); if( !result.IsSuccessful ) { return RedirectToAction( “ExternalLoginFailure” ); } } 我看了一下空的result.error。 有什么变化我需要注意吗? 我可以在1月4日看到类似的问题。 我想这与我的实现有关,而不是谷歌范围的问题,因为我仍然可以登录使用我的谷歌开放ID的SO。 我正在使用Log4Net并接收DotNetOpenAuth日志,但是没有错误,所以它与此答案不同。 我尝试从4.3.0.13117升级到最新的Nuget(4.3.4.13329),但这没有效果。 我似乎也无法在存储库中找到4.3.4.13329源代码的标记。 我将尝试下载并构建4.3.0.13117以查看是否可以找到原因。 唯一的问题是,这可以在我的本地计算机上进行良好的测试,我不确定我是否想在现场网站上安装调试DLL。

找不到OpenID端点。 – .Net OpenID

我正在使用.Net Open ID( http://code.google.com/p/dotnetopenid/ ) 我正在尝试将OpenId添加到我们正在使用的网站。 我正在运行MVC样本开箱即用,并在选择Yahoo / Google时收到以下错误。 找不到OpenID端点。 错误发生在这行代码上 return openid.CreateRequest(Request.Form[“openid_identifier”]).RedirectingResponse.AsActionResult(); 这个错误是什么意思? 我们可以尝试一些常见的故障排除方法吗? 只需添加值 – Request.Form [“openid_identifier”] https://www.google.com/accounts/o8/id

将Google OpenID迁移到OpenID Connect:openid_id不匹配

我已按照文档中的内容开始了从Google OpenID迁移到OpenID Connect with OAuth 2.0的过程。 我能够成功完成从令牌端点检索id_token中的openid_id和sub的工作流程,但是当我这样做时,openid_id与我们系统中的现有标识符不匹配。 阻止我将现有用户映射到新ID并阻止用户登录我们的应用程序(或者可能被允许以其他人身份登录)。 id的格式正确,但不匹配。 我已将openid.realm参数设置为现有的openid.realm,并将重定向设置为与文档建议的相同。 这在本地和我们的azure色托管环境中都会发生。 我正在使用JWT.JsonWebToken来解码id_token,但我也通过使用google: JWT Decoder上的web托管解码器validation它是否正确解码 ,我想出了与我们目前不匹配的相同OpenID标识符有那个用户。 我还应该注意到我已经尝试添加配置文件范围,但这没有任何区别。 我们正在使用DotNetOpenAuth.OpenId作为我们的原始系统,所以我认为问题不在那里。 我已经检查了作为响应的一部分的ClaimedIdentifier,它确实与我们在openId系统中保存的内容相匹配,因此我们不会错误地保存它。 以下是我们用于为auth请求生成Uri的内容。 它主要是DotNetOpenAuth.GoogleOAuth2客户端的修改版本。 protected static Uri GetServiceLoginUrl(Uri returnUrl) { var state = string.IsNullOrEmpty(returnUrl.Query) ? string.Empty : returnUrl.Query.Substring(1); return BuildUri(AuthorizationEndpoint, new NameValueCollection { { “response_type”, “code” }, { “client_id”, AppId }, { “scope”, “openid” }, { “prompt”, “select_account”}, { […]

OWIN OpenID提供程序 – GetExternalLoginInfo()返回null

我在使用ASP.NET身份的ASP.NET MVC5应用程序中遇到OWIN OpenId提供程序的问题,并且基于具有个人用户帐户身份validation的VS2013模板。 用于Google和LinkedIn的OWIN OpenID提供程序用于登录身份validation。 问题是看起来很随机; 即使登录validation成功,GetExternalLoginInfo()也会在LoginConfirmation回调中返回null。 var authManager = HttpContext.Current.GetOwinContext().Authentication; var login = authManager.GetExternalLoginInfo(); 使用的提供商是Google(Microsoft.Owin.Security.Google 2.1.0)和LinkedIn(来自Owin.Security.Providers 1.3),两家提供商都会导致同样的问题。 有时它失败一次然后再次工作,但有时它会继续失败,直到AppPool被回收。 目前,该应用程序的两个实例托管在同一Windows Azure虚拟机上的IIS中。 每个实例都有自己的AppPool但设置相同(不同的子域)。 有时登录在一个实例上停止工作,但仍然在另一个实例上工作。 该问题也在本地重现(IIS Express – VS2013)。 任何人都遇到类似的OWIN OpenID身份validation问题? Startup.Auth.cs看起来像这样: public void ConfigureAuth(IAppBuilder app) { // Enable the application to use a cookie to store information for the signed in user app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType […]