2016-05-16 126 views
0

我想写一个网站,除了现有网站提供的功能之外,还会添加其他功能。使用另一个网站来保护我的网站

但我宁愿不设置我自己的安全为我的网站。

我想我会写一些我想要安全的web api服务。

这是现有的网站说,有关其登录页面:

这是您将用来认证用户的URL。如果认证成功,您应该得到一个200响应代码,并且不应在响应主体中找到短语“登录”。为此请求使用HTTP POST。

我知道我可以为每个服务调用呼叫登录页面,但我希望用户只需登录一次。

是否有某种方式可以让我知道他们最近登录过,但是仍然能够防止某个人试图欺骗他们已经登录?

+0

恐怕真的很难理解你的要求是什么。您是否拥有现有网站和/或您是否可以修改它?什么认证机制使用这个现有的网站(饼干,不记名代币等)?看看你的问题,我相信你没有选择重用现有的身份验证。 –

+0

@FedericoDipuma - 我不拥有现有网站。我希望使用与Open Id提供者类似的身份验证(虽然他们不实现Open Id)。我希望得到类似于“使用API​​”的东西,并且它会生成一个安全的令牌,您可以将它放在cookie中并知道它是合法的“或类似的东西。我只是不太了解网络安全,所以我在这里问。 – Vaccano

+0

听起来你正在尝试实现OAuth。 – dharms

回答

1

目前有2个选项可以通过单点登录来完成。

  1. 使用联合身份验证使用Ws联盟。
  2. 使用类似IdentityServer的oAUTH 2.0/Open-Id连接。
+0

如果我将用户发送到登录页面并取回200代码,则会生成一个存储在客户端和服务器上的相当长的标记,然后使用HTTPS将该标记添加到每个呼叫中​​(并最终超时令牌)...会不会起作用? (如果令牌不匹配,则认证不通过,我重定向到登录页面。) – Vaccano

+0

而不是重新发明轮子,请阅读下面提到的选项https://msdn.microsoft.com/zh-cn/ -us /库/ bb498017。aspx代码示例:https://msdn.microsoft.com/en-us/library/hh545413(v=vs.110).aspx和https://github.com/IdentityServer –

+0

我认为我需要他们的网站也支持这一点......它可以在我身边完成吗? – Vaccano