New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 775175 link

Starred by 5 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

chrome.identity.launchWebAuthFlow fails to reach callback with CAC certs enabled on OS

Reported by isne...@gmail.com, Oct 16 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

Steps to reproduce the problem:
1. Add a CAC Certificate to the OS keychain

2. Create an extension with all of the following permissions specified in the manifest: tabs, <all_urls>, downloads, storage, identity, webNavigation

3. In the extension's background script, make a call to `chrome.identity.lauchWebAuthFlow` with the following arguments: interactive = true, url = https://{VALID_AUTH_URL}&redirect_uri=https://{EXTENSION_ID}.chromiumapp.org/oauth2

What is the expected behavior?
`chrome.identity.lauchWebAuthFlow` should cause a new window to launch, displaying the response to the original request 

What went wrong?
1. No new window is launched.

2. The main process outputs the following error: `NSWindow warning: adding an unknown subview: <WebContentsViewCocoa: 0x7f948435d590>. Break on NSLog to debug.` 

with the following call stack:
	0   AppKit                              0x00007fff9487baed -[NSThemeFrame addSubview:] + 109
	1   Google Chrome Framework             0x000000010ffc3036 ChromeMain + 69694502
	2   Google Chrome Framework             0x000000010ffc2983 ChromeMain + 69692787
	3   Google Chrome Framework             0x000000010ffc1d9a ChromeMain + 69689738
	4   Google Chrome Framework             0x000000010c84ea17 ChromeMain + 11546119
	5   Google Chrome Framework             0x000000010c8fa608 ChromeMain + 12249592
	6   Google Chrome Framework             0x000000010c86dcaf ChromeMain + 11673759
	7   Google Chrome Framework             0x000000010c87039b ChromeMain + 11683723
	8   Google Chrome Framework             0x000000010c86fee7 ChromeMain + 11682519
	9   Google Chrome Framework             0x000000010c88d296 ChromeMain + 11802246
	10  Google Chrome Framework             0x000000010c88d18d ChromeMain + 11801981
	11  Google Chrome Framework             0x000000010f9c75a2 ChromeMain + 63420818
	12  Google Chrome Framework             0x000000010c6dbcfd ChromeMain + 10027245
	13  Google Chrome Framework             0x000000010c4494b0 ChromeMain + 7329952
	14  Google Chrome Framework             0x000000010da4aeab ChromeMain + 30405275
	15  Google Chrome Framework             0x000000010d7e2ba2 ChromeMain + 27881362
	16  Google Chrome Framework             0x000000010d808f3b ChromeMain + 28037931
	17  Google Chrome Framework             0x000000010d809325 ChromeMain + 28038933
	18  Google Chrome Framework             0x000000010d8095f9 ChromeMain + 28039657
	19  Google Chrome Framework             0x000000010d80ca7a ChromeMain + 28053098
	20  Google Chrome Framework             0x000000010d7fcc2a ChromeMain + 27987994
	21  Google Chrome Framework             0x000000010d80c39f ChromeMain + 28051343
	22  CoreFoundation                      0x00007fff96d88321 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
	23  CoreFoundation                      0x00007fff96d6921d __CFRunLoopDoSources0 + 557
	24  CoreFoundation                      0x00007fff96d68716 __CFRunLoopRun + 934
	25  CoreFoundation                      0x00007fff96d68114 CFRunLoopRunSpecific + 420
	26  HIToolbox                           0x00007fff962c8ebc RunCurrentEventLoopInMode + 240
	27  HIToolbox                           0x00007fff962c8cf1 ReceiveNextEventCommon + 432
	28  HIToolbox                           0x00007fff962c8b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
	29  AppKit                              0x00007fff94861a54 _DPSNextEvent + 1120
	30  AppKit                              0x00007fff94fdd7ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
	31  Google Chrome Framework             0x000000010d3f2ea0 ChromeMain + 23753360
	32  Google Chrome Framework             0x000000010d7fcc2a ChromeMain + 27987994
	33  Google Chrome Framework             0x000000010d3f2de4 ChromeMain + 23753172
	34  AppKit                              0x00007fff948563db -[NSApplication run] + 926
	35  Google Chrome Framework             0x000000010d80d2ae ChromeMain + 28055198
	36  Google Chrome Framework             0x000000010d80bcac ChromeMain + 28049564
	37  Google Chrome Framework             0x000000010d82eb53 ChromeMain + 28192579
	38  Google Chrome Framework             0x000000010d3f8d46 ChromeMain + 23777590
	39  Google Chrome Framework             0x000000010c333e14 ChromeMain + 6193668
	40  Google Chrome Framework             0x000000010c3364d2 ChromeMain + 6203586
	41  Google Chrome Framework             0x000000010c32fe9c ChromeMain + 6177420
	42  Google Chrome Framework             0x000000010d3af5d0 ChromeMain + 23476672
	43  Google Chrome Framework             0x000000010ecd2be4 ChromeMain + 49835988
	44  Google Chrome Framework             0x000000010d3aebb4 ChromeMain + 23474084
	45  Google Chrome Framework             0x000000010bd4bcb8 ChromeMain + 168
	46  Google Chrome                       0x0000000105390dd4 main + 404
	47  libdyld.dylib                       0x00007fffac4f0235 start + 1
	48  ???                                 0x0000000000000002 0x0 + 2

3. The main process outputs the following error: `Connection InterfaceProviderSpec prevented service: content_browser from binding interface: extensions::mojom::AppWindow exposed by: content_renderer`

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 61.0.3163.100  Channel: stable
OS Version: OS X 10.12.6
Flash Version:
 

Comment 1 by isne...@gmail.com, Oct 16 2017

CAC = Common Access Card
Components: Platform>Extensions>API

Comment 3 by ajha@chromium.org, Oct 17 2017

Labels: Needs-Triage-M61
Cc: vamshi.k...@techmahindra.com
Labels: Needs-Feedback Triaged-ET
@Reporter: Could you please provide a sample extension to triage the issue further.

Thanks!

Comment 5 by isne...@gmail.com, Oct 17 2017

I've attached a sample extension. Enter a valid authentication url in the field labeled "Keycloak URL" and click "SSO Login".
test-extension.zip
10.6 KB Download
Project Member

Comment 6 by sheriffbot@chromium.org, Oct 17 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "vamshi.kommuri@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 7 by ajha@chromium.org, Oct 24 2017

Cc: ajha@chromium.org
Labels: Needs-Feedback
Tried a repro of this with the extension attached in C#5 but not seeing any field labeled 'Keycloak URL'. Attached is the screenshot of the same.

isnerms@: Could you please take a look at the attached extension.

Thank you!
775175.png
147 KB View Download

Comment 8 by isne...@gmail.com, Oct 24 2017

The 'Keycloak URL' field can be found in the devtool panel added to the Chrome devtools by the extension. Please see the attached screenshot. This particular extension doesn't use a popup view.
Screen Shot 2017-10-24 at 2.16.20 PM.png
52.1 KB View Download
Project Member

Comment 9 by sheriffbot@chromium.org, Oct 24 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "ajha@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: krajshree@chromium.org
Labels: Needs-Feedback
Tested the issue in MacBook Pro (Retina, 15-inch, Mid 2014), 10.12.6 using chrome reported version #61.0.3163.100 and latest canary #64.0.3249.0.

Following are the steps followed to reproduce the issue.
------------
1. Added the extension to chrome provided in comment #5.
2. Navigated to dev tools and clicked on deque tab.
3. Entered https://www.facebook.com in the field labeled "Keycloak URL" and clicked "SSO Login".
4. Did not observe anything in the chrome reported version #61.0.3163.100(Attached a screen cast for the same) but observed error in latest canary as in the attached screenshot.

isnerms@ - Could you please check the screencast and please let us know if anything missed from our side.
Also please provide a sample valid authentication url to be filled in the field labeled "Keycloak URL".

Thanks...!!
775175.mp4
1.0 MB View Download
775175@canary.png
435 KB View Download

Comment 11 by isne...@gmail.com, Oct 25 2017

krajshree@ - I'm looking into this right now. I'll get back to you as soon as I can. 

Thanks!
Project Member

Comment 12 by sheriffbot@chromium.org, Oct 25 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "krajshree@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 13 by isne...@gmail.com, Oct 25 2017

Try the following:
-------------
1. On the chrome://extensions page, find the Deque Test Extension and click 'background page' next to 'Inspect views:'
2. Open the devtools panel and navigate to the 'Deque' tab
3. Enter 'https://sso.dequelabs.com/auth/' into the Keycloak URL field and click the 'SSO Login' buttton
4. Note the logged message in the background console which begins with the text "launchWebAuthFlow called with url..." 

This message comes from line 209 of dist/background.js in the extension's source code. Note that the next line in that file calls `chrome.identity.launchWebAuthFlow`, whose callback contains another log message which is never reached. My problem is that the the interactive identity window is never launched.
Labels: M-64 OS-Linux OS-Windows
Status: Untriaged (was: Unconfirmed)
Able to reproduce the issue on Windows 7, mac 10.12.6 mac book air & Ubuntu 14.04 using chrome reported version-61.0.3163.100,stable-62.0.3202.62 & canary-64.0.3250.0 as per steps provided in C#0,5 & 13.

After step#4 in C#13,No new windows launched.Same issue observed from M50 to latest Canary.As it is a non regression issue,marking it as Untriaged to get more inputs from dev.

Please find the attached screencast for reference.
Thanks..!

775175.mp4
958 KB View Download

Comment 15 by isne...@gmail.com, Oct 26 2017

Thanks, jmukthavaram@ !
Owner: msarda@chromium.org
Status: Assigned (was: Untriaged)
-> msarda@ for identity triage
isnerms@gmail.com: Thank you for the the detailed test case.
Sorry for replying so late on this bug, but I cannot repro it anymore on Canary 71. Was it fixed by new release of Chrome?
Labels: Needs-Feedback

Sign in to add a comment