Próbowałem przesłać pliki audio/wideo z aplikacji na iOS do Google Cloud Server. Chcę, aby użytkownik nie musiał się logować na swoje konto google przed przesłaniem. Obecnie moje rozwiązania robocze polegają na tym, aby wiadro na serwerze było "otwarte", czyli w zasadzie dostępne dla każdej osoby w Internecie do odczytu/zapisu wiadra. ustawić klucz API do mojego obiektu GTLServiceStorage iOS:Przesyłanie do Google Cloud Storage przy użyciu konta usługi z aplikacji iOS
_serviceStorage.additionalHTTPHeaders = HTTP_HEADERS;
_serviceStorage.APIKey = kCloudBackendAPIKey;
W ten sposób, użytkownik z poziomu aplikacji powinni mieć możliwość przesyłania bez logowania.
Teraz chcę, aby wiadro było prywatne, aby tylko użytkownik z autoryzowanej aplikacji mógł uzyskać do niego dostęp.
Na Androidzie, Jestem w stanie to zrobić, korzystając z generowanego przeze mnie certyfikatu z serwera i zaimplementować go do plików projektu Android na przykładzie ze strony Dokumentacji Google. (Przy użyciu identyfikatora konta usługi & plików PKCS12). Kod na Androida, aby ustawić poświadczenia jest tak:
KeyStore keystore = KeyStore.getInstance("PKCS12");
keystore.load(getResources().openRawResource(R.raw.secret), MY_PASSWD.toCharArray());
PrivateKey key = (PrivateKey) keystore.getKey("privatekey", MY_PASSWD.toCharArray());
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(SERVICE_ACCOUNT_ID)
.setServiceAccountScopes(scopes)
.setServiceAccountPrivateKey(key)
.build();
storage = new Storage.Builder(httpTransport, jsonFactory, credential)
.setApplicationName(APP_NAME).build();
// --- continue upload using storage
Jednak na razie nie mogę wydawać się znaleźć sposób, aby realizować ten sam mechanizm do mojej aplikacji iOS. Czy istnieje sposób, w jaki mogę użyć identyfikatora konta usługi Google do przesyłania plików w aplikacji na iOS, aby użytkownik nie musiał najpierw logować się na swoje konto Goolge?
Hi @adipurnama, znalazłeś rozwiązanie tego problemu? Mam ten sam problem. –
adipurnama, cuGoku> Czy w aplikacji mobilnej systemu Android został podany plik pliku klucza prywatnego (.p12) i hasło? Jeśli tak, czy to bezpieczne? – Jasper
jakieś rozwiązanie? dzięki ... –