SharePoint App-Only Authentication throwing "The remote server returned an error: (401) Unauthorized

%3CLINGO-SUB%20id%3D%22lingo-sub-2077383%22%20slang%3D%22en-US%22%3ESharePoint%20App-Only%20Authentication%20throwing%20%22The%20remote%20server%20returned%20an%20error%3A%20(401)%20Unauthorized%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2077383%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20all%2C%3CBR%20%2F%3EI%20am%20trying%20to%20make%20sharepoint%20authentication%20using%20oAuth%20or%20App-Only%20authentication%2C%20but%20it%20gives%20error%20%22The%20remote%20server%20returned%20an%20error%3A%20(401)%20Unauthorized.%22.%3C%2FP%3E%3CP%3EI%20am%20using%20trial%20sharepoint%20tenant.%3C%2FP%3E%3CP%3EHere%20is%20my%20code%20snippets%3A%3CBR%20%2F%3E%3CSTRONG%3EUsing%20Client%20id%20%26amp%3B%20Client%20secret%3A%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-csharp%22%3E%3CCODE%3Estring%20siteUrl%20%3D%20%22%5BSharepoint-Site-URL%5D%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2FSharepoint%20App%20details%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20string%20SPClientId%20%3D%20%40%22%5BClient-id%5D%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20string%20SPClientSecret%20%3D%20%40%22%5BClient-secret%5D%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20using%20(ClientContext%20context%20%3D%20new%20OfficeDevPnP.Core.AuthenticationManager().GetAppOnlyAuthenticatedContext(siteUrl%2C%20SPClientId%2C%20SPClientSecret))%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20context.Load(context.Web%2C%20t%20%3D%26gt%3B%20t.Title)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20context.ExecuteQuery()%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Console.WriteLine(context.Web.Title)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3EUsing%20AccessToken%3A%3CBR%20%2F%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-csharp%22%3E%3CCODE%3Estring%20siteUrl%20%3D%20%22%5BSharepoint-Site-URL%5D%22%3B%0A%20string%20realm%20%3D%20TokenHelper.GetRealmFromTargetUrl(new%20Uri(siteUrl))%3B%0A%0A%20%2F%2FGet%20the%20access%20token%20for%20the%20URL.%20%20%0A%20string%20accessToken%20%3D%20TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal%2C%20new%20Uri(siteUrl).Authority%2C%20realm).AccessToken%3B%0A%0A%20%2F%2FCreate%20a%20client%20context%20object%20based%20on%20the%20retrieved%20access%20token%0A%20using%20(ClientContext%20context%20%3D%20TokenHelper.GetClientContextWithAccessToken(siteUrl%2C%20accessToken))%0A%20%7B%0A%20context.Load(cc.Web%2C%20t%20%3D%26gt%3B%20t.Title)%3B%0A%20context.ExecuteQuery()%3B%0A%20Console.WriteLine(cc.Web.Title)%3B%0A%20%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20referred%20below%20articles%3A%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fsolution-guidance%2Fsecurity-apponly-azureacs%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fsolution-guidance%2Fsecurity-apponly-azureacs%3C%2FA%3E%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fwww.c-sharpcorner.com%2Farticle%2Fconnect-to-sharepoint-online-site-with-app-only-authentication%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fwww.c-sharpcorner.com%2Farticle%2Fconnect-to-sharepoint-online-site-with-app-only-authentication%2F%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2077383%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3ESharePoint%20Online%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Frequent Visitor

Hi all,
I am trying to make sharepoint authentication using oAuth or App-Only authentication, but it gives error "The remote server returned an error: (401) Unauthorized.".

I am using trial sharepoint tenant.

Here is my code snippets:
Using Client id & Client secret:

 

 

string siteUrl = "[Sharepoint-Site-URL]";
                //Sharepoint App details
                string SPClientId = @"[Client-id]";
                string SPClientSecret = @"[Client-secret]";
                using (ClientContext context = new OfficeDevPnP.Core.AuthenticationManager().GetAppOnlyAuthenticatedContext(siteUrl, SPClientId, SPClientSecret))
                {
                    context.Load(context.Web, t => t.Title);
                    context.ExecuteQuery();
                    Console.WriteLine(context.Web.Title);
                };

 

 

Using AccessToken:

 

 

string siteUrl = "[Sharepoint-Site-URL]";
 string realm = TokenHelper.GetRealmFromTargetUrl(new Uri(siteUrl));

 //Get the access token for the URL.  
 string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, new Uri(siteUrl).Authority, realm).AccessToken;

 //Create a client context object based on the retrieved access token
 using (ClientContext context = TokenHelper.GetClientContextWithAccessToken(siteUrl, accessToken))
 {
	context.Load(cc.Web, t => t.Title);
	context.ExecuteQuery();
	Console.WriteLine(cc.Web.Title);
 }

 

 

I referred below articles:
https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs
https://www.c-sharpcorner.com/article/connect-to-sharepoint-online-site-with-app-only-authentication...

0 Replies