IT tutorials
 
Technology
 

Understanding SharePoint 2013 authentication (part 3) - Understanding app authentication flow in SharePoint 2013

12/21/2013 2:54:27 AM
- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019

2.3 Understanding app authentication flow in SharePoint 2013

Now that you have learned about the fundamental differences between internal authentication and external authentication, it’s time to walk through the authentication flow used by the SharePoint host environment.

Remember that app authentication is only supported in endpoints based on CSOM and the REST API. Therefore, the SharePoint host environment uses only standard user authentication for any request that is not based on CSOM or the REST API. This includes scenarios for page requests from both the host web and the app web.

When the SharePoint host environment processes a CSOM call or a REST API call, it must do more work to determine which type of authentication to use. The diagram in Figure 2 shows a flow chart that details the complexity and the factors that the SharePoint host environment uses to choose the correct type of authentication.

The SharePoint host environment looks at the tokens contained in the incoming call as well as the endpoint to determine whether to setup a user and app context.

Figure 2. The SharePoint host environment looks at the tokens contained in the incoming call as well as the endpoint to determine whether to setup a user and app context.

The first question the SharePoint host environment asks after starting the authentication process for a CSOM call or REST API call is whether the call carries a SAML token with a user identity. If the incoming call does carry a SAML token, the next question is whether the request targets an app web or not. If the call does not target an app web, the SharePoint host environment uses standard user authentication and sets up the call context with just the user identity. Note that this is exactly what SharePoint does for any request that does not target a CSOM or REST API endpoint.

When an incoming call with a SAML token targets the domain of an app web, the SharePoint host environment determines that it must authenticate the app that is associated with that app web. It then uses internal authentication to authenticate the app and it sets up the call context with app identity as well as with the user identity it finds in the SAML token.

When an incoming call carries an access token instead of a SAML token, the SharePoint host environment determines that the call is from an app and it must use external authentication to authenticate it. The SharePoint host environment starts the external authentication process by determining whether the access token is an OAuth token or an S2S token and then validating the authenticity of the access token.

After the access token has been validated, the SharePoint host environment can then extract information about the identity of the app. The SharePoint host environment also inspects the access token to see if it carries information about the identity of the current user. If it does, the SharePoint host environment sets up the call context with both app identity and user identity. If the access token does not contain information about the identity of a user, it sets up the call context only with app identity.

The last scenario involves a request that carries neither a SAML token nor an access token. In this case, the SharePoint host environment can establish neither app identity nor user identity. This leads to the SharePoint host environment setting up the call context by using anonymous access. A call executing under anonymous access will experience an access denied error in all scenarios except the case for which the site has been configured to allow CSOM and REST API calls from the anonymous user.

 
Others
 
- Understanding SharePoint 2013 authentication (part 2) - Understanding how SharePoint 2013 authenticates apps
- Understanding SharePoint 2013 authentication (part 1) - Understanding user authentication in SharePoint 2013
- Sharepoint 2013 : Automating tasks with workflows - Importing Visio workflows into SharePoint Designer
- System Center Configuration Manager 2007 : Client Management - The ConfigMgr Client Agent
- System Center Configuration Manager 2007 : Client Troubleshooting (part 2) - ConfigMgr Toolkit
- System Center Configuration Manager 2007 : Client Troubleshooting (part 1) - General Scenarios, Online Assistance, Conflicting Hardware IDs
- Using the Windows PowerShell in an Exchange Server 2007 Environment : Using EMS to Do Reporting (part 2)
- Using the Windows PowerShell in an Exchange Server 2007 Environment : Using EMS to Do Reporting (part 1) - Generating Largest Mail User Reports
- LINQ to SharePoint and SPMetal : Updating Information Using LINQ to SharePoint (part 3) - Resolving Change Conflicts
- LINQ to SharePoint and SPMetal : Updating Information Using LINQ to SharePoint (part 2) - Handling Concurrency Errors when Updating Data
 
 
Top 10
 
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
Technology FAQ
- Is possible to just to use a wireless router to extend wireless access to wireless access points?
- Ruby - Insert Struct to MySql
- how to find my Symantec pcAnywhere serial number
- About direct X / Open GL issue
- How to determine eclipse version?
- What SAN cert Exchange 2010 for UM, OA?
- How do I populate a SQL Express table from Excel file?
- code for express check out with Paypal.
- Problem with Templated User Control
- ShellExecute SW_HIDE
programming4us programming4us