Hi, from this post:
I want to try to login in my app with our work Microsoft account. I've seen no examples on the forum, so I will try to do it with your help.
I will try to follow this link from Microsoft.
After Register an application with the Microsoft identity platform I've started with Step 1: Request authorization.
With the help of copilot, I've translated this curl
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
To this B4X code. (I'm trying first in B4J, and I will later make the test in B4A)
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
If I run the above code (attached project, change your id's in the global variables), I'm asked in the webview for my user, password and F2A, but after that, I get an message saying I need the approval from an admin.
Probably I need to contact my IT department to get that. Anyway, if I press in the "continue without appoval" I get the message: "AADSTS90014: The required field 'request' is missing from the credential. Ensure that you have all the necessary parameters for the login request."
@andymc, can you test the above code to see if you get something else? Or can you share the code where you login with Microsoft?
Thanks in advance.
			
			I want to try to login in my app with our work Microsoft account. I've seen no examples on the forum, so I will try to do it with your help.
I will try to follow this link from Microsoft.
After Register an application with the Microsoft identity platform I've started with Step 1: Request authorization.
With the help of copilot, I've translated this curl
			
				B4X:
			
		
		
		curl --location --request GET 'https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?client_id=11111111-1111-1111-1111-111111111111&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%2Fmyapp%2F&response_mode=query&scope=offline_access%20User.Read%20Mail.Read&state=12345'To this B4X code. (I'm trying first in B4J, and I will later make the test in B4A)
			
				B4X:
			
		
		
		Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    Private CLIENT_ID As String = "fadfasfas-5e92-323-83a6-adfadfafa" 'fake
    Private ClientSecret As String = "adfr223-c9432be-323-b972-aewe23r2" 'fake
    Private const REDIRECT_URI As String = "https://login.microsoftonline.com/common/oauth2/nativeclient"
    Private const AUTH_URL As String = "https://login.microsoftonline.com/my-tenant-id/oauth2/v2.0/authorize"
    Private const SCOPE As String = "offline_access%20User.Read%20Mail.Read"
    Private const STATE As String = "12345"
    Private btnLogin As Button
    Private WebView1 As WebView
End Sub
Public Sub Initialize
'    B4XPages.GetManager.LogEvents = True
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub btnLogin_Click
    Dim authUrl As String = AUTH_URL & "?client_id=" & CLIENT_ID & "&response_type=code" & "&redirect_uri=" & REDIRECT_URI & "&response_mode=query" & "&scope=" & SCOPE & "&state=" & STATE
    WebView1.LoadUrl(authUrl)
End Sub
Sub WebView1_PageFinished (Url As String)
    If Url.StartsWith(REDIRECT_URI) Then
        Dim code As String = Url.SubString2(Url.IndexOf("code=") + 5, Url.Length)
        Log("Authorization Code: " & code)
        'Here you can continue getting the access token
    End If
End SubIf I run the above code (attached project, change your id's in the global variables), I'm asked in the webview for my user, password and F2A, but after that, I get an message saying I need the approval from an admin.
Probably I need to contact my IT department to get that. Anyway, if I press in the "continue without appoval" I get the message: "AADSTS90014: The required field 'request' is missing from the credential. Ensure that you have all the necessary parameters for the login request."
@andymc, can you test the above code to see if you get something else? Or can you share the code where you login with Microsoft?
Thanks in advance.
Attachments
			
				Last edited: 
			
		
	
								
								
									
	
		
			
		
	
								
							
							 
				 
 
		 
 
		 
						
					 
 
		 
 
		 
 
		