# `Backplane.Oauth.Scope`
[🔗](https://github.com/gsmlg-opt/backplane/blob/v1.10.77/apps/backplane_oauth/lib/backplane/oauth/schemas/scope.ex#L1)

OAuth scope schema and utilities

# `raw`

```elixir
@type raw() :: String.t()
```

# `t`

```elixir
@type t() :: %Backplane.Oauth.Scope{
  id: any() | nil,
  label: String.t() | nil,
  name: String.t(),
  public: boolean() | nil
}
```

# `authorized_scopes`

```elixir
@spec authorized_scopes(
  against :: List | Backplane.Oauth.Token.t() | Backplane.Oauth.Client.t(),
  scopes :: [String.t()],
  public_scopes :: [String.t()]
) :: authorized_scopes :: [String.t()]
```

Determines if artifact is authorized to access given scope.

# `contains_openid?`

```elixir
@spec contains_openid?(oauth_scope :: String.t()) :: boolean()
```

Determines if scope string contains openid scope.

# `openid`

```elixir
@spec openid() :: t()
```

Returns 'openid' scope

# `split`

```elixir
@spec split(oauth_scope :: String.t() | nil) :: [raw()]
```

Splits an OAuth scope string into individual scopes as string
## Examples
    iex> scope("a:scope another:scope")
    ["a:scope", "another:scope"]

---

*Consult [api-reference.md](api-reference.md) for complete listing*
