Skip to content

Refine wording on permissions and scopes in OIDC doc - #1999

Open
Nicolas Lykke Iversen (nlykkei) wants to merge 1 commit into
MicrosoftDocs:mainfrom
nlykkei:patch-2
Open

Refine wording on permissions and scopes in OIDC doc#1999
Nicolas Lykke Iversen (nlykkei) wants to merge 1 commit into
MicrosoftDocs:mainfrom
nlykkei:patch-2

Conversation

@nlykkei

Copy link
Copy Markdown

Corrected phrasing for clarity regarding permission definitions and scopes.

Scopes are not permission sets, but permissions.

The documentation is very confusing and doesn't use consistent terminology.

Corrected phrasing for clarity regarding permission definitions and scopes.

Scopes are not permission sets, but permissions.
@prmerger-automator

Copy link
Copy Markdown
Contributor

Nicolas Lykke Iversen (@nlykkei) : Thanks for your contribution! The author(s) and reviewer(s) have been notified to review your proposed change.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refines terminology in the OIDC scopes documentation to reduce confusion between “permissions” and “scopes” in the Microsoft identity platform.

Changes:

  • Rewords the explanation of fine-grained access control to refer to permissions (rather than “permission sets”).
  • Updates the OAuth 2.0 paragraph to frame scopes as permission strings and align terminology with the scope parameter usage.
  • Fixes indentation so the explanatory paragraphs render as normal prose (instead of appearing indented like a code block).

Because of these permission definitions, the resource has fine-grained control over its data and how API functionality is exposed. A third-party app can request these permissions from users and administrators, who must approve the request before the app can access data or act on a user's behalf.

When a resource's functionality is chunked into small permission sets, third-party apps can be built to request only the permissions that they need to perform their function. Users and administrators can know what data the app can access. And they can be more confident that the app isn't behaving with malicious intent. Developers should always abide by the principle of least privilege, asking for only the permissions they need for their applications to function.
When a resource's functionality is chunked by fine-grained permissions, third-party apps can be built to request only the permissions that they need to perform their function. Users and administrators can know what data the app can access. And they can be more confident that the app isn't behaving with malicious intent. Developers should always abide by the principle of least privilege, asking for only the permissions they need for their applications to function.
When a resource's functionality is chunked by fine-grained permissions, third-party apps can be built to request only the permissions that they need to perform their function. Users and administrators can know what data the app can access. And they can be more confident that the app isn't behaving with malicious intent. Developers should always abide by the principle of least privilege, asking for only the permissions they need for their applications to function.

In OAuth 2.0, these types of permission sets are called *scopes*. They're also often referred to as *permissions*. In the Microsoft identity platform, a permission is represented as a string value. An app requests the permissions it needs by specifying the permission in the `scope` query parameter. Identity platform supports several well-defined [OpenID Connect scopes](#openid-connect-scopes) and resource-based permissions (each permission is indicated by appending the permission value to the resource's identifier or application ID URI). For example, the permission string `https://graph.microsoft.com/Calendars.Read` is used to request permission to read users calendars in Microsoft Graph.
In OAuth 2.0, these permissions are called *scopes*. They're also often referred to as *permissions*. In the Microsoft identity platform, a permission is represented as a string value. An app requests the permissions it needs by specifying the permission in the `scope` query parameter. Identity platform supports several well-defined [OpenID Connect scopes](#openid-connect-scopes) and resource-based permissions (each permission is indicated by appending the permission value to the resource's identifier or application ID URI). For example, the permission string `https://graph.microsoft.com/Calendars.Read` is used to request permission to read users calendars in Microsoft Graph.
@ttorble

Copy link
Copy Markdown
Contributor

Jackline Omondi (@omondiatieno)

Can you review the proposed changes?

IMPORTANT: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 209e412:

⚠️ Validation status: warnings

File Status Preview URL Details
docs/identity-platform/tutorial-desktop-app-maui-sign-in-sign-out.md ⚠️Warning Details
docs/identity-platform/tutorial-mobile-app-maui-sign-in-sign-out.md ⚠️Warning Details
docs/identity-platform/scopes-oidc.md ✅Succeeded

docs/identity-platform/tutorial-desktop-app-maui-sign-in-sign-out.md

  • Line 50, Column 4: [Warning: invalid-code] The code snippet "~/../ms-identity-ciam-dotnet-tutorial/1-Authentication/2-sign-in-maui/Views/MainView.xaml" could not be found.
  • Line 69, Column 4: [Warning: invalid-code] The code snippet "~/../ms-identity-ciam-dotnet-tutorial/1-Authentication/2-sign-in-maui/Views/MainView.xaml.cs" could not be found.
  • Line 86, Column 4: [Warning: invalid-code] The code snippet "~/../ms-identity-ciam-dotnet-tutorial/1-Authentication/2-sign-in-maui/Views/ClaimsView.xaml" could not be found.
  • Line 100, Column 4: [Warning: invalid-code] The code snippet "~/../ms-identity-ciam-dotnet-tutorial/1-Authentication/2-sign-in-maui/Views/ClaimsView.xaml.cs" could not be found.

docs/identity-platform/tutorial-mobile-app-maui-sign-in-sign-out.md

  • Line 50, Column 4: [Warning: invalid-code] The code snippet "~/../ms-identity-ciam-dotnet-tutorial/1-Authentication/2-sign-in-maui/Views/MainView.xaml" could not be found.
  • Line 69, Column 4: [Warning: invalid-code] The code snippet "~/../ms-identity-ciam-dotnet-tutorial/1-Authentication/2-sign-in-maui/Views/MainView.xaml.cs" could not be found.
  • Line 86, Column 4: [Warning: invalid-code] The code snippet "~/../ms-identity-ciam-dotnet-tutorial/1-Authentication/2-sign-in-maui/Views/ClaimsView.xaml" could not be found.
  • Line 100, Column 4: [Warning: invalid-code] The code snippet "~/../ms-identity-ciam-dotnet-tutorial/1-Authentication/2-sign-in-maui/Views/ClaimsView.xaml.cs" could not be found.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@omondiatieno

Copy link
Copy Markdown
Contributor

Nicolas Lykke Iversen (@nlykkei), thank you for your contribution. Kindly commit the copilot suggestions and also resolve the invalid code block errors. Jackson Woods (MSFT) (@Jackson-Woods), are you still the PM for this feature and can you help us review the updates for technical accuracy?

@v-dirichards

Copy link
Copy Markdown
Contributor

Nicolas Lykke Iversen (@nlykkei) Can you respond to the requested changes or let us know if you would like us to commit them?

Jackson Woods (MSFT) (@Jackson-Woods) Jackline Omondi (@omondiatieno) - When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.

#label:"aq-pr-triaged"
#assign: Jackson Woods (MSFT) (@Jackson-Woods)
@MicrosoftDocs/public-repo-pr-review-team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants