简答:是的,您可以使用单个控制器操作。
如果您使用的是.net mvc,那么您可以通过一个动作和不同的Id值实现整个事情。只要创建与格式监听“ID”或“令牌”的动作的authorizationController:
https://yoursite.com/authorization/id?[params]
https://yoursite.com/authorization/token?[params]
在你的路线,授权将解析为一个动作,ID /令牌都将解析一个ID。
参数(查询或表单提交)
然后,接受你需要按照相应的方法和过程。(可选)参数的参数。大部分oAuth客户端都会查找初始url和一个url,以将他们的自动化代码转换为访问令牌。响应是众所周知的(例如 - 我期望从oAuth响应中看到的数据是众所周知的),并且发布和返回的名称(例如 - type,client_id,client_secret,token,code,redirect_uri等)是也是众所周知的。
示例服务(S)
这有助于从一个证据充分的OAuth的服务像the one for basecamp落后工作。在一天结束时,这就是你想要制作的东西。如果您需要第二个来源进行比较,您也可以使用zapier的oAuth2文档。
This article给出了整个过程如何工作的一个很好的(基本)概述。客户端调用,服务器返回的内容等。这是一个很好的起点。
实施为可能“grant_types”,因为你需要,只是记录您的服务器支持你的消费者的人(或者,在你的情况下,APPB的开发者)。
最后一点:你应该确保OAuth是正确的答案。
我觉得我需要添加一个快速编辑并解释oAuth可能不是您所发现的特定业务问题的正确解决方案!大多数人使用oAuth2访问另一个应用程序的api(而不是使用其他应用程序对用户进行身份验证)。
的oAuth.net网站最好说它:
的的OAuth 2.0规范定义了一个代表团协议[...]。 OAuth 用于各种应用程序,包括为用户身份验证提供 机制。这导致许多开发商和 API提供商错误结论是OAuth是本身 认证协议,并错误地使用它这样。
如果你只是试图验证用户,那么也许oAuth2是错误的解决方案。
来源
2016-01-29 22:34:24
bri
oAuth2或oAuth1? oAuth2更适合Web服务器。 – bri