我正在构建一个应该能够发送电子邮件的应用。我正在使用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帐户目前正处于技术问题。稍后再试。
查看了this示例,其中作者以类似的方式使用Google和Microsoft帐户。
如果我改为使用this示例,则它适用于原始设置,但如果我更改为我自己的clientId和redirectUrl则不行。这是因为我没有任何Azure帐户? 不愿意为此付出代价,而且由于第一种方法适用于我的Gmail,我很乐意,如果它也可以与微软合作。
/奥利弗
答案 0 :(得分:0)
您是否尝试过microsoftonline.com端点?我也使用Xamarin.Auth实现了它,并且可以通过这种方式实现它。
“常见”是{租户},如果您只想允许个人帐户,可以用“消费者”代替。
答案 1 :(得分:0)
自己编码的另一种方法是使用第三方库来处理身份验证。
CloudRail拥有适用于Xamarin的SDK,具有社交登录/身份验证的内置集成,以及您提及的电子邮件发送。