![](/img/trans.png)
[英]How to send email using two factor authentication enabled office365 email account in asp.net C#?
[英]Asp.Net Identity authentication with Office365 app
我想知道是否可以同时使用Owin
和Office 365 Owin
登录使用Asp.Net Identity
?
基本上,我想创建一个挂钩到用户的Exchange收件箱的Web挂钩。 当这些消息到达时,我需要进行一些处理并基本上发出通知。
我能够成功创建Office 365应用; 我将clientId
和clientSecret
都放入我的Web.Config
文件中。
我使用的是Asp.Net MVC5,我可以看到一个基本上带有按钮的视图,并显示“单击订阅”。然后理想情况下将打开Office 365登录名,并向我的用户显示一个同意形成。
尽管当用户最初登录网站时,我使用的是带有Asp.Net Identity的Owin。
当我尝试简化Office 365登录时; 这两行都返回null
。 我已经按照Github上的教程进行操作了 。 因此,我可以使用Graph API挂接到Exchange邮箱。 但是我的同意书有问题吗? 有什么想法吗?
以下是两行可疑代码:
var signInUserId = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value;
var userObjectId = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
signInUserId
根据用户向我返回Asp.Net UserId字段。 我感觉自己在做一些完全愚蠢和不完整的事情。
在这种情况下,您需要考虑两种方法。
OpenIDConnectAuthentication
并且当用户单击“订阅”时,您将从应用程序中发出Challenge
。 OWIN将重定向用户以登录,同意,然后返回到您的应用程序。 然后,您可以使用中间件中可用的通知来捕获授权代码,将其交换为访问令牌,并缓存令牌以备后用。 此代码示例显示了如何执行此操作。 关键是通过从通知中调用HandleResponse()
来终止auth管道,这将停止OpenIDConnect登录管道,并保持ASP.NET身份完整。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.