7

Web ベースのクライアントとモバイル ネイティブ アプリ (Android および IOS) によって消費される django フレームワークを使用して、Python で認証を行う RESTFUL Web サービスを作成する必要があります。

簡単な例は、ユーザーが電子メールとパスワードを使用してログインし、API キーを取得してモバイル デバイスに保存し、この API キーを使用して、ユーザー資格情報を何度も提供する代わりに、さらに API を使用することです。

RESTFUL サービスを作成するために TASTYPIE または Django ピストンを使用することを考えていますが、より良い解決策を知っている場合は別の方法を提案してください。

しかし、私の主な焦点は認証部分です。認証を実装するために OAuth を使用する必要がありますか、または応答で api-key を使用する ssl を介した単純な基本認証で十分です。

4

3 に答える 3

2

Python 標準ライブラリを使用してRESTful Web サービスを作成できます。サードパーティ ライブラリは絶対に必要というわけではありません。

RESTfulサービスを定義するものについて詳しく読んで、自分で実装を開始する必要があります。

価値があるのは、いくつかのプロジェクトで軽いフレームワークとしてcherrypyを使用することです。シンプルで使いやすいです。Web サイトには、アプリケーションにRESTを実装する方法に関するセクションもあります。

于 2012-08-18T02:12:13.117 に答える
0

あなたが言ってSSLを使用したように、私はAPIキー交換でそれを行いました。うまくいきました。https リクエストを Android で正しく機能させるには、いくつかの注意事項があります。

private static HttpClient newHttpClient() {
    KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
    trustStore.load(null, null);

    SSLSocketFactory sf = new EasySSLSocketFactory(trustStore);
    sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

    HttpParams params = new BasicHttpParams();
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);

    SchemeRegistry registry = new SchemeRegistry();
    registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    registry.register(new Scheme("https", sf, 443));

    ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
    return new DefaultHttpClient(ccm, params);
}
于 2013-02-27T00:53:55.180 に答える
0

OAUTH よりも実装が簡単な OAUTH2 を使用しましたが、実際にセキュリティを確保するには SSL が必要です。

私はDJANGO REST Frameworkを使用しているので、ここでセットアップを見つけることができます。

于 2014-12-23T11:06:51.863 に答える