我以前问过关于使用应用程序引擎的remote_api与openID的问题,答案工作得很好,既安全又不安全。 不久之后的某个时候,应用程序引擎中的某些内容发生了变化,解决scheme不再安全地工作 – 即以下内容 remote_api_stub.ConfigureRemoteDatastore(app_id=app_id, path='/remote_api', auth_func=auth_func, servername=host, secure=True) 停止工作(总是返回302),我需要删除安全参数才能使其工作。 1.3.5 SDK的发布承诺“远程API命令可以通过HTTPS或HTTP发送”,这让我感到困惑,因为我的印象是,提供“安全=真”的论点已经给了我这个,基于这个讨论 。 我的怀疑是,这个function的释放导致“安全”的论点停止工作。 所以,我的问题的第一部分 – 我实际上在1.3.5发布之前通过使用'secure = True'参数安全地运行remote_api命令? 一旦cookie破解安全地停止工作,我尝试了尼克·约翰逊的解决scheme在同一个问题列出,但同时,我不能提供'安全=真',得到相同的302响应。 我需要做什么才能安全地使用openID运行remote_api? 1.3.5是否包含了新的function,如何使用它们? 干杯, 科林
IdentityServer支持在Flows枚举中定义并为客户端设置的不同OpenId Connectstream。 还有每种stream程的样本,以及文档中对它们的许多引用,但我无法find文档中stream程的简单定义列表,就好像它们太明显,无法用文字解释。 但我想他们不是。 你能告诉我们更多关于这些差异吗?也许我们可以把这些添加到文档中? 那么什么是: 隐式stream, 资源所有者密码凭证stream, 授权码stream, 客户端凭证stream, 自定义授权stream和混合stream? 哪些是OAuthstream,哪些是OpenID Connectstream? 谢谢!
我正在开发一个ASP.NET MVC应用程序,我想使用OpenId。 什么是最好的select? DotNetOpenId RPX 其他??? 有谁知道什么StackOverflow使用? login用户界面是自定义开发的还是由API /服务提供的?
从我使用OpenID的经验来看,我看到了一些重大的缺点: 将单点故障添加到该站点 即使被发现,也不能由网站修复。 如果OpenID提供商closures三天,网站有什么资源可以让用户login和访问他们拥有的信息? 将用户引导至其他网站内容,并且每次login到您的网站 即使OpenID提供者没有错误,用户也会被redirect到他们的站点来login。 login页面包含内容和链接。 所以有一个机会实际上是从网站上拉下来的互联网兔子洞。 我为什么要将我的用户发送到其他公司的网站? [注:我的提供者不再这样做,似乎已经解决了这个问题(现在)。] 为注册添加了一笔不小的时间 要注册该网站,新用户必须阅读新标准,select提供商并注册。 标准是技术人员应该同意的,以使用户体验无摩擦。 他们不应该在用户身上施加压力。 这是一个钓鱼者的梦想 OpenID是非常不安全的,在login时盗取用户的ID非常容易。 [摘自David Arno的答案 ] 对于所有的缺点,有一个好处是允许用户在互联网上login的次数更less。 如果一个站点select使用OpenID,那么希望使用该function的用户可以使用它。 我想了解的是: 一个网站获得OpenID 强制性的好处是什么?
我正在创build一个Web应用程序,使用OpenIDlogin和OAuth令牌与Youtube。 我目前在数据库中以纯文本格式存储OpenID身份和OAuth令牌/令牌密钥。 将这些值存储为纯文本是不恰当的吗? 我可以使用OpenID标识符的单向encryption,但我不知道这是否是必要的。 对于OAuth令牌,我需要使用双向encryption,因为我的应用程序依赖于获取会话令牌的某些用途。 是否有必要encryptionOpenID的身份? 有人可以使用它来访问用户的帐户吗?
在我的网站上,我希望允许用户使用Google帐户login。 我打算使用openid,但是我想允许用googlelogin,因为它有更多的好处。 我注意到在过去几个网站有能力login谷歌(Gmail)帐户和IIRC,虽然他们不支持openID(但我可能是错的)。 如何实现“使用Googlelogin”?
我创build了一个新的MVC5 Web应用程序,当我尝试使用Google或Facebooklogin时, AccountController的ExternalLoginCallback Action被调用,但GetExternalLoginInfoAsync()总是返回null: var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return RedirectToAction("Login"); } 由于它始终为空,它只是redirect到login页面,并且过程重新开始。 我怎样才能解决这个问题?
你可以看到一些(在Geek社区里)关于OpenID的。 这似乎是一个好主意。 我正在开发一个网站,将针对一个不那么怪异的观众(但不是太妈妈和stream行音乐),所以我不知道OpenID是否会对一些观众“太难”。 你怎么看? 除此之外,还有没有其他技术或非技术原因不使用OpenID?
我有一个令我疯狂的问题。 我试图修改openidselect器来支持Facebook。 我使用RPXNow作为我的提供者,所以它要求表单被提交到不同于标准的url。 例如。 RpxNow要求我设置我的forms是这样的: <form action="https://wikipediamaze.rpxnow.com/openid/start?token_url=…"> 这适用于除Facebook和Myspace之外的所有提供商。 这些需要将表单发布到不同的url,如下所示: <form action="https://wikipediamaze.rpxnow.com/facebook/start?token_url=…"> 和 <form action="https://wikipediamaze.rpxnow.com/myspace/start?token_url=…"> 开放的idselect器在窗体上有一堆button,每个都代表openid提供者。 我想要做的是检测当Facebook或Myspacebutton被点击,并在提交之前更改表单上的操作。 然而它不工作。 这是我的代码。 我已经用相同的“不支持”exception尝试了几个变种 $("#openid_form").attr("action", form_url) document.forms[0].action = form_url 有什么build议么? 更新 这里是关于代码的更多细节。 为了简洁,我省略了一些。 我做的唯一的事情就是将Facebook部分添加到“providers_large”对象(它成功将徽标添加到网站),而不是提供标识用户的url,我创build了一个名为“form_url”的属性是我想要设置我的forms的行动。 如果你看“提供者图像点击”部分标题,你会看到我在哪里检查属性“form_url”的存在,并使用jQuery来更改操作并提交表单。 但是,当我在debugging模式下浏览JavaScript时,它告诉我这是一个无效的操作。 var providers_large = { google: { name: 'Google', url: 'https://www.google.com/accounts/o8/id' }, facebook: { name: 'Facebook', form_url: 'http://wikipediamaze.rpxnow.com/facebook/start?token_url=http://www.wikipediamaze.com/Accounts/Logon' }, }; var providers_small = { myopenid: […]
我们有一个网站,在网站上login和validation自己的网站的唯一方法是与Facebook(这不是我的select)。 当您第一次使用Facebooklogin时,会自动为您创build一个帐户。 我们现在要为我们的网站创build一个iPhone应用程序,并且为他人使用我们的服务提供一个公共API。 这个问题是关于如何从应用程序/ APIauthentication我们的网站,并分成两部分: 什么是正确的方式来处理RESTauthentication从API到只使用Facebook OAuth作为身份validation方法的网站? 我已经阅读并研究了很多关于REST API的标准authentication方法。 我们不能使用基于HTTPS的基本身份validation之类的方法,因为没有这样的用户证书。 像这样的东西似乎只是用于validation使用API的应用程序。 目前,我能想到的最好方法是在API上点击/授权端点,redirect到Facebook OAuth,然后redirect回站点,并提供API的用户可以使用的“令牌”来validation后续要求。 对于我们创build的官方应用程序,我们不一定需要以相同的方式使用公共API。 那么与我们的网站交谈并authentication用户的最佳方式是什么? 我理解(我认为)如何使用API(公共)密钥和秘密(私人)密钥来authentication使用我们的API的第三方应用程序。 但是,当涉及到authentication使用该应用程序的用户时,我们对如何解决这个问题感到困惑,因为我们必须对Facebook进行身份validation。 我觉得我错过了一些非常明显的东西,或者不完全了解公共REST API应该如何工作,所以任何build议和帮助将不胜感激。