Thursday, 19 December 2019

Azure AD Access Token using ADAL

    
1. Below is app settings to use the  

 <add key="ida:AADInstance" value="https://login.microsoftonline.com/{0}" />
    <add key="ida:Tenant" value="f61023-bd24-4569-812b-56c280afb521" />
    <add key="ida:ClientId" value="620f4139-42b5-4132-1234-785f091dss3" />
    <add key="ida:ClientSecureKey" value="fsdfv3m23bNNBbfjfbbdddsennmh" />
    <add key="ida:RedirectUri" value="620f4139-42b5-4132-1234-785f091dss3" />

2. Below method used to get the access token on behalf  of registered Application clietnId and securekey

 public async Task<string> Authentication()
        {
            string accessToken = string.Empty;
            try
            {
                string authorityy = string.Format(CultureInfo.InvariantCulture, CommonService.AADInstance, CommonService.tenantId);
           
                AuthenticationContext authContext = new AuthenticationContext(authorityy);
                // //Pass the credential
                var clientCredential = new ClientCredential(CommonService.clientId, CommonService.ClientSecureKey);
                var result = authContext.AcquireTokenAsync(CommonService.RedirectUri, clientCredential).Result;
                //Acquire the token
                accessToken = result.AccessToken;
            }
            catch (Exception ex)
            {
                string errorString = "Error in UserAuthontication :" + ex.Message.ToString() + "\n" + ex.StackTrace;
                Console.WriteLine(errorString);
                CommonService.WriteLogg(errorString);
            }
            return accessToken;
        }

Wednesday, 18 December 2019

Get SharePoint LisItem using pnp recursively




private async GetAllItemsRecursivly()
{
      // the query also works with select to choose certain fields and top 
//to set the page size
    let items = await pnp.sp.web.lists.getByTitle("Navigation").items.
filter("Title eq 'Department'").select("Title,Id").top(5).getPaged();
    // the results property will be an array of the items returned
    console.log("We got results!");
    for (let i = 0i < items.results.lengthi++)
    {
        // type checking works here if we specify the return type
        console.log(items.results[i].Id);
    }

    // the hasNext property is used with the getNext method to handle paging
    // hasNext will be true so long as there are additional results
    while(items.hasNext)
    {
        // this will carry over the type specified in the original query 
//for the results array
        items = await items.getNext();
        for (let i = 0i < items.results.lengthi++)
        {
          // type checking works here if we specify the return type
          console.log(items.results[i].Id);
        }
    }
}