我正在构建一个应用程序,应该能够发送电子邮件。我正在使用OAuth2来验证用户,并且我已经查看了Xamarin Forms Sample,它在安装后可以很好地与gmail一起工作。然而,它不适用于我的Microsoft帐户。
我在微软上创建了一个cliendId和所有这些东西。我是否也必须拥有Azure AD?
我使用以下命令调用身份验证:
new OAuth2Authenticator(
"myClientId",
"User.Read",
new Uri("https://login.live.com/oauth20_authorize.srf?client_id=myid&scope=user.read&response_type=token&redirect_uri=https://login.live.com/oauth20_desktop.srf"),
new Uri("myRedirectUri"),
null,
true);但我到达一个屏幕上说:我们无法执行您的请求。Microsoft-accounts现在有技术问题。请稍后再试。
我看过this示例,其中作者以类似的方式使用谷歌和微软的帐户。
如果我使用this示例,它可以使用原始设置,但如果我更改为我自己的clientId和redirectUrl,则不起作用。这是因为我没有任何Azure帐户吗?我不想花钱得到它,因为第一种方法在我的gmail上工作得很好,如果它也能在微软工作的话我会很高兴的。
/Oliver
发布于 2017-08-24 15:08:52
您是否尝试过microsoftonline.com端点?我也使用Xamarin.Auth实现了这一点,并且可以让它以这种方式工作。
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
:
"common“是{tenant},如果您只想允许个人帐号,您可以将其替换为"consumers”。
发布于 2017-08-31 16:02:15
除了自己编码之外,还有一种方法是使用第三方库来处理身份验证。
CloudRail有用于Xamarin的SDK,具有用于社交登录/身份验证的内置集成,以及您提到的电子邮件发送。
https://stackoverflow.com/questions/45653682
复制相似问题