Android permissions "com.google.android.googleapps.permission.GOOGLE_AUTH.*" - android-permissions

I have observed a set of Android applications requesting permissions starting with the prefix "com.google.android.googleapps.permission.GOOGLE_AUTH.*", such as:
com.google.android.googleapps.permission.GOOGLE_AUTH
com.google.android.googleapps.permission.GOOGLE_AUTH.youtube
com.google.android.googleapps.permission.GOOGLE_AUTH.mail
com.google.android.googleapps.permission.GOOGLE_AUTH.wise
com.google.android.googleapps.permission.GOOGLE_AUTH.fusiontables
com.google.android.googleapps.permission.GOOGLE_AUTH.cp
etc.
Does anyone know if these permissions are internal permissions of Google apps? or are they deprecated permissions? are intended for use by third-party apps?
Thank for your help.

Seems to be a "live permission", according to AndroidPermissions.COM. That site claims to list All permissions which are found on a clean Android 4.4 emulator.
com.google.android.googleapps.permission.GOOGLE_AUTH:
View configured accounts
Allows apps to see the usernames (email addresses) of the Google account(s) you have configured.
Find the full list of the "sub-permissions" (and their explanations) behind the second link.
Are intended for use by third-party apps?
I gather, some yes, some not. I deduce this from code snippets I just found on XDA. Exemple snippet:
<permission android:label="#string/permlab_googleAuth" android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" android:protectionLevel="normal" android:permissionGroup="android.permission-group.ACCOUNTS" android:description="#string/permdesc_googleAuth" />
<permission android:label="#string/permlab_googleAuth_ALL" android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.ALL_SERVICES" android:protectionLevel="signatureOrSystem" android:permissionGroup="android.permission-group.ACCOUNTS" android:description="#string/permdesc_googleAuth_ALL" />
<permission android:label="#string/permlab_googleAuth_OTHER" android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.OTHER_SERVICES" android:protectionLevel="dangerous" android:permissionGroup="android.permission-group.ACCOUNTS" android:description="#string/permdesc_googleAuth_OTHER" />
<permission android:label="#string/permlab_googleAuth_mail" android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" android:protectionLevel="dangerous" android:permissionGroup="android.permission-group.ACCOUNTS" android:description="#string/permdesc_googleAuth_mail" />
<permission android:label="#string/permlab_googleAuth_cl" android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.cl" android:protectionLevel="dangerous" android:permissionGroup="android.permission-group.ACCOUNTS" android:description="#string/permdesc_googleAuth_cl" />
As you can see, the basic GOOGLE_AUTH described above has android:protectionLevel="normal", which is accessible to all apps (and not even shown to the user as permission on app install) – while GOOGLE_AUTH.ALL_SERVICES is assigned android:protectionLevel="signatureOrSystem" (reserved to system apps). So we have the full spectrum here.

Related

How to get parameters of a URI deep link into a Maui Application?

I am want to create a deep link like some-app://localhost?user=123455 that when clicked opens a Maui WinUI app. When the app receives this deep link I want to be able to get the user ID off of the deep link. I was able to do this in Xamarin, but haven't figured out the Maui equivalent
I am able to register the app using (taken from this Windows doc):
<Applications>
<Application Id= ... >
<Extensions>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="alsdk">
<uap:Logo>images\icon.png</uap:Logo>
<uap:DisplayName>SDK Sample URI Scheme</uap:DisplayName>
</uap:Protocol>
</uap:Extension>
</Extensions>
...
</Application>
But when I receive the event via the app lifecycle (https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/app-lifecycle#windows) I am not seeing the parameters of the URI.
I've encountered the same problem and I got it working thanks to this reply on the issue I created.
You can retrieve the launch arguments by using Environment.GetCommandLineArgs(); inside of OnLaunched.

Add a owner of a community with IBM connections Cloud API

With the API of Connections community we can add member as described in this URL :
https://www-10.lotus.com/ldd/appdevwiki.nsf/xpAPIViewer.xsp?lookupName=API+Reference#action=openDocument&res_title=Adding_a_member_programmatically&content=apicontent
I try to add a owner not a member in a community but he always become a member even if I am posting this informations for the user :
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:snx="http://www.ibm.com/xmlns/prod/sn">
<contributor>
<email>michel.nico#connelink.fr</email>
<snx:userid xmlns:snx="http://www.ibm.com/xmlns/prod/sn">My user ID</snx:userid>
<snx:userState xmlns:snx="http://www.ibm.com/xmlns/prod/sn">active</snx:userState>
<snx:isExternal xmlns:snx="http://www.ibm.com/xmlns/prod/sn">false</snx:isExternal>
<name>Michel NICO</name>
</contributor>
<snx:role xmlns:snx="http://www.ibm.com/xmlns/prod/sn" component="http://www.ibm.com/xmlns/prod/sn/communities">owner</snx:role>
<category term="business-owner" scheme="http://www.ibm.com/xmlns/prod/sn/type"></category>
<category term="person" scheme="http://www.ibm.com/xmlns/prod/sn/type"> </category>
<snx:orgId xmlns:snx="http://www.ibm.com/xmlns/prod/sn">The ID of our cloud</snx:orgId>
</entry>
It always create me as a member and not as an owner.
How can we create a user with the owner role in a community ?
Suport send a response to me :
No need to add so many field to add a person :
<entry xmlns="http://www.w3.org/2005/Atom">
<contributor>
<email>mailadress</email>
</contributor>
<snx:role xmlns:snx="http://www.ibm.com/xmlns/prod/sn" component="http://www.ibm.com/xmlns/prod/sn/communities">owner</snx:role>
</entry>
is enouth to create a person.
But I try to add me as a owner of a community that was the problem : when the admin account try to add him, he can be member only. When you try to add someone else, you can add him as an owner.
This limitation was not described in the documentation.
Now it works
It looks good, but I think the term=person item is for activities and not communities, at least that what the docs show. You might remove that and see what happens. I have a feeling it's overriding the owner role you're trying to set.

Facebook Audience Network with dfp mediation network

App
It already uses dfp to get ads from admob as described in DFP Android Guides. Now I want to get ads from facebook audience network through dfp. I follow the guide here and add FacebookAdapter.jar and AudienceNetwork.jar into my app.
DFP
In my line item, I set type price priority and use sdk mediation ad with facebook audience network.
Condition
However, when the app runs, I see the following message just like someone else reported here.
W/FacebookAdapter(18649): The input ad size is not supported at this moment.
I think the code works, and dfp delivers the ads from facebook audience network. I am pretty sure about this because both dfp and facebook console show the ad request information.
Questions
Do I setup the line item correctly?
How could we fix the issue of unsupported ad size?
Update
Nothing wrong about the line item setting. But if you use dfp for mediation, you need to be aware of the priority here
Currently, the simplest solution is to give up smart banner and use banner instead. This would allow you to get mediation ad from facebook audience network.
Don't forget to add -keep public class com.google.ads.mediation.** {*;} if you use proguard. Otherwise, you will see couldn't instantiate facebook adapter message.
I use dfp sdk so if you use other sdk, I cannot guarantee it works. My code already works for admob and other mediation network, and I try to add facebook audience network.
layout.xml
<com.google.android.gms.ads.doubleclick.PublisherAdView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="#+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="#string/ad_unit_id"
android:visibility="gone" />
Note that I use BANNER instead of SMART_BANNER here, somehow, the banner size is incompatible between dfp and facebook. In my opinion, this is an issue of sdk. I hope google would fix this later, but I just give up SMART_BANNER for now. As I mentioned in the update, if you use SMART_BANNER, you will get this W/FacebookAdapter(18649): The input ad size is not supported at this moment.
jar
facebook android sdk - This one is from facebook, and you can find the AudienceNetwork.jar in it.
facebook adapter - This is from dfp mediation network, and you can find FacebookAdapter.jar.
In Android Studio, all you need to do is put jars in your libs folder and make sure your build.gradle includes the libs folder.
build.gradle
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
...
}
Somehow, when I build the apk, the libraries are not compiled even when I Synchronize 'build.gradle'. Hence, you might want to check your project.iml and make sure you see the following in it.
project.iml
...
<orderEntry type="library" exported="" name="AudienceNetwork" level="project" />
<orderEntry type="library" exported="" name="FacebookAdapter" level="project" />
Proguard
As I said in the reply, you must not forget to add com.google.ads.mediation if you use Proguard! Otherwise, you will keep seeing cannot instantiate com.google.ads.mediation.facebookadapter class.
-keep public class com.google.ads.mediation.** { public *; }
Log
This is the message you will see if everything is configured properly.
02-18 16:24:25.315 8081-8307/com.xxxxxxx I/Ads﹕ Trying mediation network: 1.0568273599589929E19
02-18 16:24:25.320 8081-8081/com.xxxxxxx I/Ads﹕ Instantiating mediation adapter: com.google.ads.mediation.facebook.FacebookAdapter
02-18 16:24:25.335 8081-8081/com.xxxxxxx W/Ads﹕ Server parameters: {"gwhirl_share_location":"1","pubid":"xxxxxxxxxxxxx_xxxxxxxxxxxxx"}
This is the simplest way to use Audience Network if you are willing to give up SMART BANNER. If you must use SMART BANNER, I suggest you to implement custom event banner using com.google.ads.mediation.customevent.CustomEventBanner yourself. In Vpon's Google Admob Mediation, it shows an example of implementation of custom evener banner. I think you will be able to use SMART_BANNER in this way, and it also means that you have to convert the ad size yourself.
Update
Targeting
I am actually not sure about if you can do targeting with facebook audience network or not because I cannot find anything about targeting in facebook's official document.
You can see dfp Custom targeting for this, and I guess the code would be something like .addNetworkExtrasBundle(new com.google.ads.mediation.facebook.FacebookAdapter(), bundle).
Placement id
In case you're not familiar with how to use placement_id you get from facebook audience network, you have to do the following things:
Create a line order
Create a line item
Create a SDK mediation creative
Select Facebook Audience Network like the image below and put your placement id there.
This is the very simple version of how you do it, and you should know that the setting of line item will have effects on ads. If you settings are not correct, for example, the item's type priority is too low or frequency capping is too long, you might not see the ads.
Feb 2016
You can use gradle to install audience network library now.
compile 'com.facebook.android:audience-network-sdk:4.+'
More information at Using the Native Ad API in Android
If you see the following messages without delivering any ad, that is probably because you don't have facebook app installed on your device or emulator.
E/ActivityThread: Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider
W/FacebookAdapter: No fill. We are not able to serve ads to this person. Please refer to https://developers.facebook.com/docs/audience-network/faq#a12. If you are integrating Audience Network for the first time, you can use test ads https://developers.facebook.com/docs/audience-network/testing.
May 2016
Yoann Hercouet points out in the comments that LARGE_BANNER is also not available on Facebook.
there is a adsize matching issue inside the FacebookAdapter:
https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/android/MWoBWBR0FQM

IIS 7.5: Setting 'app pool user' as the anonymous user programmatically

I have an web app in IIS 7.5 with its own AppPool using .net 4.
I want to use the feature of having anonymous access as the app pool identity - which is easily configured in a GUI via the inetmgr snapin.
Is there any way do this programmatically, for instance through web.config?
I've looked around and it appears that the anonymousAuthentication element does the trick, but it does not explain how to specify the app pool user in any significant way. I've tried setting my anon user to 'IIS APPPOOL/[AppPoolName]' as seems to be suggested here, with no success.
Any suggestions to how this is supposed to be configured?
Taking a closer look at that link: http://www.iis.net/ConfigReference/system.webServer/security/authentication/anonymousAuthentication
'If you leave this value blank (that is, username=""), Anonymous authentication uses the application pool identity to authenticate anonymous users'
For the lazy (me)
<system.webServer>
<security>
<authentication>
<anonymousAuthentication userName="" />
</authentication>
</security>
</system.webServer>
Muluken anonymous pool to examination any kinds of question to my followers . So try to give answer if you are good in participation

Is it possible to suppress the IE standard login dialog when Windows Authentication is enabled?

i have a web application with Windows Authentication enabled. In my web.config I restrict the access with the following code:
<authorization>
<allow users="rba\eigg"/>
<deny users="*"/>
</authorization>
When I call the application in a browser, the IE's standard login dialog pops up. If I close it by 'Cancel' I get the HTTP 401 (Access is denied) error page as expected.
Is there a way to suppress the login dialog so that the user gets the 401 error page directly?
Thanks!
Rocko
At risk of sounding terse, let me just say: No. ;-)
It is an intrisic function of any browser when presented with a challenge/response type of auth.
Fiddling with this in any way would be a security risk and is not possible.
Just the way it is.
Cheers.