Git Product home page Git Product logo

Comments (7)

kishikawakatsumi avatar kishikawakatsumi commented on July 17, 2024

現状で対処する方法として、ログイン画面を呼び出す時のrequestオブジェクトにHTTPShouldHandleCookies = NO;を設定するのはいかがでしょうか。

もちろんSDK側で提案された内容が実装されるのも良いと思います。

-(void)showOAuthLoginView:(NSNotification *)notification {
    [[NSNotificationCenter defaultCenter] removeObserver:self name:kHTBLoginStartNotification object:nil];

    NSMutableURLRequest *req = (NSMutableURLRequest *)notification.object;
    req.HTTPShouldHandleCookies = NO;

    UINavigationController *navigationController = [[UINavigationController alloc] initWithNavigationBarClass:[HTBNavigationBar class] toolbarClass:nil];
    HTBLoginWebViewController *viewController = [[HTBLoginWebViewController alloc] initWithAuthorizationRequest:req];
    navigationController.viewControllers = @[viewController];
    [self presentViewController:navigationController animated:YES completion:nil];
}

from hatena-bookmark-ios-sdk.

kishikawakatsumi avatar kishikawakatsumi commented on July 17, 2024

NSMutableURLRequestが返ってくるのを前提とした仕様、はいまいちだと思いますので現状で良いとは思っていません。
SDKのAPIを通してある程度requestオブジェクトがコントロール可能になるがいいのではないでしょうか。

from hatena-bookmark-ios-sdk.

laiso avatar laiso commented on July 17, 2024

なるほどHTTPShouldHandleCookiesがありましたか。
とりあえずの対応として「ログインフォームを必ず表示したい場合、HTTPShouldHandleCookiesを設定してください」とドキュメントに書いておくだけでもよさそうですね。

from hatena-bookmark-ios-sdk.

ninjinkun avatar ninjinkun commented on July 17, 2024

API側で返すNSURLRequestに始めからHTTPShouldHandleCookies = NOを付ける実装をしてみましたが、これは如何でしょうか。 5d7e824 ただ、この実装でも、他のWebViewでははてなへのログインが残り続けるのが難点ですが。

NSNotificationにrequestが着いてくる現在の実装は微妙だと思っているので、この辺りはいずれ見直したいですね(もちろん後方互換性を保ちながら)。Safariに飛ばすものや、自社アプリに飛ばすものもあるので、将来的にはアプリ内のWebViewで認証という形を取らなくても良いのかもしれません。

from hatena-bookmark-ios-sdk.

laiso avatar laiso commented on July 17, 2024

再ログインの件はこれでよさそうですね。むしろログインセッションを保持したいケースがないでしょうし。
他のWebViewでははてなへのログインが残り続けるのはそっちの方が自然かと思います。

from hatena-bookmark-ios-sdk.

ninjinkun avatar ninjinkun commented on July 17, 2024

@laiso 上記の件、merge しました。問題なければ close したいと思います。

from hatena-bookmark-ios-sdk.

laiso avatar laiso commented on July 17, 2024

OKです

from hatena-bookmark-ios-sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.