在 ASP.NET 中为 OAuth2 创建重定向 URI

Creating Redirect URI for OAuth2 in ASP.NET

我有 Asp.Net MVC 应用程序和 Xamarin.Forms 以 Azure 移动应用程序作为后端的移动应用程序。所有这些都将托管在 Azure 云中。我需要将 Google、Microsoft 和 Azure AD 身份验证集成到其中。

我遇到了很多关于如何做到这一点的 tutorials/blogs,但是 none 如何创建我自己的重定向 URI。

我想为每个身份验证提供创建一个通用重定向 URI 并将其托管在云中。基本上它应该处理令牌,我想检索基本的用户属性,如用户 ID 和名称,以返回给调用应用程序——在我的例子中是 MVC 或 Xamarin 移动应用程序。

感谢关于此的任何示例项目。

我认为以下两个 url 应该能够让您很好地了解如何在 azure 移动设备中使用 oauth:

http://www.strathweb.com/2014/02/running-owin-pipeline-new-net-azure-mobile-services/

http://blog.nankov.com/azure-mobile-services-configuring-the-owin-pipeline/

根据 oauth 本身。您将需要了解(如果您还没有)不同的 oauth 流程类型并决定哪一种最适合您的场景。

https://www.rfc-editor.org/rfc/rfc6749

例如如果您使用的是纯 javascript 客户端,那么 隐式授权 将是我认为的最佳选择。

如果您查看隐式授权流程(例如),它会使用重定向 uri。因此,当客户端发出请求时,它使用预定义的 url (由 auth 服务器事先提供给客户端)。服务器查看 url(和 client_id),如果匹配,则将响应(带有令牌)发送回 url。

url 在客户端应用程序中的位置类似于 https://client.com/someuniquelocation/(例如)

希望这对您有所帮助。

编辑:

看看以下内容:

Redirect to ReturnUrl after successful cookie authentication in Owin, Katana & Nancy

http://xabikos.com/web%20application/interception/middleware/2015/01/26/asp.net---create-an-owin-middleware-to-trigger-a-permanent-redirect.html

https://msdn.microsoft.com/en-us/library/microsoft.owin.owinresponse.redirect(v=vs.113).aspx