Какие OAuth2 flow существуют, какой выбрать для SPA / mobile / server-side веб / server-to-server, и чем OIDC отличается от OAuth2?