Xamarin.Auth 中,除了空字符串 ("") 之外,我可以将哪些值传递给 OAuth2Authenticator 构造函数?

what values i can pass to scope apart from empty string ("") to OAuth2Authenticator constructor in Xamarin.Auth?

在 Xamarin.Auth 中,除了空字符串 ("") 之外,我还可以将哪些值传递给 OAuth2Authenticator 构造函数?

请参考以下link了解更多信息 关于 OAuth2Authenticator 的使用 https://components.xamarin.com/gettingstarted/xamarin.auth

好吧,这取决于您使用的身份验证提供程序。 让我详细解释一下, 比如说,

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

更多关于 Google 的 OAuth 信息,您可以参考 https://developers.google.com/+/web/api/rest/oauth

  1. 如果你想使用 Micrsoft 作为第三方身份验证提供商来验证用户,你可以参考下面的 link 范围值 https://graph.microsoft.io/en-us/docs/authorization/permission_scopes

与其他提供商类似,请查看相应的网站文档。

希望这对您有所帮助。

OAuth 2.0 范围通常 用于定义您请求的访问(许可)类型。因此,如果访问令牌被授予,只有那些范围被分配给该令牌,如果您需要将 scope/permission 的类型从“read_only”范围更改为“读写”范围,您必须使用新范围请求新令牌。

作用域依赖于您尝试访问的服务并将由该服务定义,它们是常用的作用域,例如“read_only”,但同样,服务定义了它们是什么。

即要同时请求对用户的 Microsoft OneDrive 帐户的读写权限和离线访问权限,您将请求以下范围:

"onedrive.readwrite wl.offline_access"

要访问 Google 日历,您可以通过范围请求仅查看访问权限(只读):

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

对于 change/manage 用户的日历,您需要:

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

同时请求多个范围时,您可能需要用 space 或逗号或其他一些服务定义的分隔符分隔每个范围。虽然 space 分隔符很常见,但它又是由您连接的服务定义的。

参考:访问令牌范围/https://www.rfc-editor.org/rfc/rfc6749#page-23