Tag: openid

如何在ASP.net中使用OpenID

我想创建一个使用Google的OpenID进行身份validation的网站。 我该怎么办? 另外,我如何使用自定义表格的角色?

OpenID Connect轻量级库

我正在寻找将实现这些例程的OpenID Connect(OIDC)依赖方轻量级库 。 撰写“身份validation请求” validation“id_token”签名(包括从元数据端点下载证书) 解析“id_token”JWT 要支持的唯一OIDC流是所谓的“ 隐式流 ”,其中服务器从授权端点( 规范链接 )回答“id_token”(以及“access_token”,如果请求)。 搜索NuGet存储库似乎只能产生唯一合适的选项–OWIN中间件,即使我可以确认它有效,但最好还是选择轻量级替代品。

使用OpenID进行网站身份validation

我想在使用ASP.NET 2.0和SQL Server 2005的新应用程序中实现OpenID。 我选择Twitter,Facebook和Google作为潜在的OpenID提供商。 我已经在.NET中找到了Twitter实现,我正在研究Google的OpenID实现 ,但我想确保我的设计(主要是!)完美无瑕。 我的数据库架构是否正确? 我已将Reader与ProviderOpenID相关联,后者仅包含nullable Name为nullable Name列。 我存储了OauthToken并在每次请求时使用它来访问他的个人资料并validation登录。 我错过了什么吗? 任何人都可以告诉我,对于Google的OpenID提供程序的.NET实现是否有开源库? 我在Google上找到了以下教程,但我不明白它是如何工作的。 有没人试过这个? 这是最好的方法吗?

DotNetOpenAuth:Webforms,入门

我想弄清楚如何在我的webforms应用程序中使用DotNetOpenAuth( http://www.dotnetopenauth.net/ ) 我不明白从哪里开始。 我的Login.aspx上有一个OpenIDSelector,可以让你选择google或Yahoo。 您可以选择一个,然后弹出一个弹出窗口,然后让您登录。 一旦你登录该程序挂起,因为它试图用数据库做某事??? 我不能只使用一些控件(如OpenIDSelector)并返回用户进行身份validation,获取他们的ClaimedID并自己处理其余的? 编辑:尝试在Webforms中开始使用OpenID? 到这里… https://github.com/DotNetOpenAuth/DotNetOpenAuth/wiki/Creating-an-openid-relying-party-%28programatically%29

C#中的OpenID和Google.GData.AccessControl.dll

我正在设计一个使用OpenId的网站,Google是我选择的主要提供商之一。 我想做的是使用Google的日历和联系人(可能是文档)作为每个用户的后备存储。 换句话说,如果我网站上的用户想要访问联系人列表,日历等,他们必须注册他们的Google帐户。 然后他们可以添加/编辑/删除他们内心的内容,因为这是他们的信息。 (是的,我对于我要去的地方有一个特定的想法,只需要弄清楚如何将OpenID绑定到GData。) 是否有人在OpenID / OAuth和使用Google API之间编写了一个平局?

OpenIdProvider.GetRequest()返回null

作为这个问题的延续,我遇到了dotnetopenauth的问题。 我导航到我的依赖方代码并创建请求,但是当我的提供者收到请求时, OpenIdProvider.GetRequest()返回null。 我查看了代码,据我所知,这是因为我的依赖方没有交付openid有效负载(request.form); 但我无法弄清楚为什么会这样。 码: 依赖方: public ActionResult Authenticate(string RuserName = “”) { UriBuilder returnToBuilder = new UriBuilder(Request.Url); returnToBuilder.Path = “/OpenId/Authenticate”; returnToBuilder.Query = null; returnToBuilder.Fragment = null; Uri returnTo = returnToBuilder.Uri; returnToBuilder.Path = “/”; Realm realm = returnToBuilder.Uri; var response = openid.GetResponse(); if (response == null) { if (Request.QueryString[“ReturnUrl”] != null && User.Identity.IsAuthenticated) { […]

OpenID领域是否必须是网站的基本URL?

作为这个问题的延续,我遇到了与dotnetopenauth有关的问题。 基本上,我想知道RP中指定的领域是否必须是应用程序的实际基本URL? 也就是说,( http://localhost:1903 )? 鉴于现有的体系结构,很难删除重定向 – 我尝试将域设置为基础OpenId控制器( http://localhost:1903/OpenId ),并且手动测试确实生成了XRDS文档。 但是,应用程序似乎冻结,EP日志显示以下错误: 2012-10-10 15:17:46,000 (GMT-4) [24] ERROR DotNetOpenAuth.OpenId – Attribute Exchange extension did not provide any aliases in the if_available or required lists. 码: 依赖方: public ActionResult Authenticate(string RuserName = “”) { UriBuilder returnToBuilder = new UriBuilder(Request.Url); returnToBuilder.Path = “/OpenId/Authenticate”; returnToBuilder.Query = null; returnToBuilder.Fragment = null; […]

从Google OpenID迁移到新的OAuth 2

我看到有一些问题已经存在,但我找不到任何细节。 我之前使用过自己的DotNetOpenAuth代码,但现在我决定切换到Microsoft Wrapper for Authentication。 无论如何,我发现这个非常好的OAuth客户端: https://github.com/mj1856/DotNetOpenAuth.GoogleOAuth2 它似乎工作正常,但现在它来到迁移部分。 在我当前的登录系统中,我保存了Google返回的完整OpenIDurl,其格式为: https://www.google.com/accounts/o8/id?id= ???????????????????????????? ???? 根据此处的文档https://developers.google.com/accounts/docs/OpenID我应该能够通过新的OAuth系统以某种方式获得该值。 我在Auth请求中包含了“openid.realm”参数。 return BuildUri(AuthorizationEndpoint, new NameValueCollection { { “response_type”, “code” }, { “client_id”, _clientId }, { “scope”, string.Join(” “, scopes) }, { “redirect_uri”, returnUrl.GetLeftPart(UriPartial.Path) }, { “state”, state }, { “openid.realm”, “http://myoldopenidrealm” } }); 据我所知,文档应该是我需要做的全部。 我确保我用于OpenID 2身份validation的Realm是相同的,它也与我的返回URL相同。 在我完成之后,我做了令牌请求,据我所知,我应该看到一个“open_id”字段,但我无法理解如何获取它。 protected override string QueryAccessToken(Uri returnUrl, […]

覆盖AspNet.Security.OpenIdConnect.Server中的TokenEndPoint

与此帖相关的问题: 配置授权服务器端点 。 使用上面的例子,我可以得到令牌。 以前可以通过骑马获得额外的信息 public override Task TokenEndpoint(OAuthTokenEndpointContext context) { foreach (KeyValuePair property in context.Properties.Dictionary) { context.AdditionalResponseParameters.Add(property.Key, property.Value); } return Task.FromResult(null); } 你如何在当前的实施中实现这一目标 public override Task TokenEndpoint(TokenEndpointContext context){ } 谢谢!

将google idToken替换为本地openId令牌c#

我正在使用这个github项目https://github.com/openiddict/openiddict-core这很棒。 但是,当用户使用外部身份提供商时,我会被困在程序应该是什么,或者如何实现它们,对于这个例子,我将使用谷歌。 我有一个angular2 app运行,带有aspnet核心webAPI。 我的所有本地登录工作都很完美,我使用用户名和密码调用connect/token ,并返回accessToken。 现在我需要将谷歌作为外部身份提供商实施。 我已按照此处的所有步骤实施Google登录按钮。 这会在用户登录时打开一个弹出窗口。这是我为google按钮创建的代码。 // Angular hook that allows for interaction with elements inserted by the // rendering of a view. ngAfterViewInit() { // check if the google client id is in the pages meta tags if (document.querySelector(“meta[name=’google-signin-client_id’]”)) { // Converts the Google login button stub to an actual button. […]