Xamarin表示OAuth2 Microsoft / Google身份验证

时间:2017-08-12 18:38:32

标签: azure authentication oauth-2.0 xamarin.forms forms-authentication

我正在构建一个应该能够发送电子邮件的应用。我正在使用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,我很乐意,如果它也可以与微软合作。

/奥利弗

2 个答案:

答案 0 :(得分:0)

您是否尝试过microsoftonline.com端点?我也使用Xamarin.Auth实现了它,并且可以通过这种方式实现它。

“常见”是{租户},如果您只想允许个人帐户,可以用“消费者”代替。

答案 1 :(得分:0)

自己编码的另一种方法是使用第三方库来处理身份验证。

CloudRail拥有适用于Xamarin的SDK,具有社交登录/身份验证的内置集成,以及您提及的电子邮件发送。