除了空字符串("")到Xamarin.Auth中的OAuth2Authenticator构造函数,我可以传递给范围的值是什么?

时间:2016-12-26 14:55:22

标签: xamarin xamarin.auth

除了空字符串("")到Xamarin.Auth中的OAuth2Authenticator构造函数,我可以传递给范围的值是什么?

有关更多信息,请参阅以下链接 关于OAuth2Authenticator的用法 https://components.xamarin.com/gettingstarted/xamarin.auth

2 个答案:

答案 0 :(得分:0)

那么这取决于你正在使用的身份验证提供程序。 让我详细解释一下, 比如说,

  1. 您希望在这种情况下通过其Gmail帐户对用户进行身份验证 ,您可以使用以下范围

  2. 有关使用Google的OAuth的详细信息,请参阅https://developers.google.com/+/web/api/rest/oauth

    1. 如果要使用Micrsoft作为第三方身份验证提供程序对用户进行身份验证,可以参考以下链接获取范围值 https://graph.microsoft.io/en-us/docs/authorization/permission_scopes
    2. 对于其他提供商,请查看相应的网站文档。

      希望这有帮助。

答案 1 :(得分:0)

OAuth 2.0范围通常用于定义您请求的访问类型(权限)。因此,如果授予访问令牌,则只将那些范围分配给该令牌,如果您需要更改所需的范围/权限类型,例如从“read_only”范围更改为“readwrite”范围,则必须请求新令牌使用新范围。

范围依赖在您尝试访问的服务上并将由该服务定义,它们是常用的范围,如“read_only”,但同样,服务定义它们是什么

即。要同时向用户的Microsoft OneDrive帐户请求读写权限和脱机访问权限,您可以要求此范围:

"onedrive.readwrite wl.offline_access"

要访问Google日历,您可能只需要通过范围查看访问权限(只读):

"https://www.googleapis.com/auth/calendar.readonly"

要更改/管理用户的日历,您需要:

"https://www.googleapis.com/auth/calendar"

在一个请求多个作用域时,您可能需要用空格或逗号或其他服务定义的分隔符分隔每个作用域。虽然空间分隔符非常常见,但这也是由您正在连接的服务定义的。

参考:访问令牌范围/ https://tools.ietf.org/html/rfc6749#page-23